in main/model.py [0:0]
def __init__(self, backbone_net, pose_net, skeleton_refine_net, skin_refine_net, mesh, root_joint_idx, align_joint_idx, non_rigid_joint_idx):
super(Model, self).__init__()
# template mesh things
self.mesh = mesh
self.skeleton = self.mesh.skeleton
# keypoint things
self.joint_num = len(self.skeleton)
self.root_joint_idx = root_joint_idx
self.align_joint_idx = align_joint_idx
self.non_rigid_joint_idx = non_rigid_joint_idx
# identity-dependent things
self.register_buffer('id_code', torch.randn(cfg.id_code_dim))
# modules
self.backbone_net = backbone_net
self.pose_net = pose_net
self.skeleton_refine_net = skeleton_refine_net
self.skin_refine_net = skin_refine_net
#self.renderer = RenderLayer()
# loss functions
self.depthmap_loss = DepthmapLoss()
self.joint_loss = JointLoss()
self.penet_loss = PenetLoss(self.skeleton, self.mesh.segmentation, self.root_joint_idx, self.non_rigid_joint_idx)
self.lap_loss = LaplacianLoss(self.mesh.v, self.mesh.vi)