Skip to content

reye_pose shape: torch.Size([2, 0]),RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 2 but got size 0 for tensor number 4 in the list. #65

@TediousBoredom

Description

@TediousBoredom

Dear author,

Thanks for your project, I want to train with smplx with smplx parameters estimated by both default romp in Instant and Refit , then I met below erros.

i use the code below to process the dynvideo_male data you provide and got this error yet.

RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 2 but got size 0 for tensor number 4 in the list.

`smpl_model = smplx.SMPLX(model_path='../assets/smpl_files/smplx', gender=gender, use_pca=False, num_pca_comps=45, flat_hand_mean=True, batch_size=1)
smpl_data = torch.load(os.path.join(data_path, 'smpl_parms.pth'), weights_only=True)
cano_dir = os.path.join(data_path,)

    live_smpl = smpl_model.forward(
        betas=smpl_data['beta'][0][None],
        transl=torch.tensor([[0, 0.35, 0]]),
        global_orient=smplx_cpose_param[:, :3],
        body_pose=smplx_cpose_param[:, 3:66],
        jaw_pose=smplx_cpose_param[:, 66:69],
        leye_pose=smplx_cpose_param[:, 69:72],
        reye_pose=smplx_cpose_param[:, 72:75],
        left_hand_pose=smplx_cpose_param[:, 75:120],
        right_hand_pose=smplx_cpose_param[:, 120:]
    )
    
    ori_vertices = live_smpl.vertices.detach().cpu().numpy().squeeze()
    joint_mat = live_smpl.A
    print(joint_mat.shape)
    torch.save(joint_mat, os.path.join(cano_dir, 'smplx_cano_joint_mat.pth'))
    
    mesh = trimesh.Trimesh(ori_vertices, smpl_model.faces, process=False)
    mesh.export(os.path.join(cano_dir, 'cano_smplx.obj'))`

Image

Training progress: 0%| | 0/3300 [00:00<?, ?it/s]global_orient shape: torch.Size([2, 3]) [18/02 19:16:47]
body_pose shape: torch.Size([2, 63]) [18/02 19:16:47]
jaw_pose shape: torch.Size([2, 3]) [18/02 19:16:47]
leye_pose shape: torch.Size([2, 3]) [18/02 19:16:47]
reye_pose shape: torch.Size([2, 0]) [18/02 19:16:47]
left_hand_pos shape: torch.Size([2, 0]) [18/02 19:16:47]
right_hand_pose shape: torch.Size([2, 0]) [18/02 19:16:47]
Traceback (most recent call last):
File "/home/sysu/Desktop/animate/GaussianAvatar/train.py", line 185, in
train(lp.extract(args), np.extract(args), op.extract(args), args.save_epochs, args.checkpoint_epochs)
File "/home/sysu/Desktop/animate/GaussianAvatar/train.py", line 74, in train
image, points, offset_loss, geo_loss, scale_loss = avatarmodel.train_stage1(batch_data, first_iter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysu/Desktop/animate/GaussianAvatar/model/avatar_model.py", line 335, in train_stage1
live_smpl = self.smpl_model.forward(betas = self.betas,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysu/Desktop/animate/GaussianAvatar/submodules/smplx/body_models.py", line 1211, in forward
full_pose = torch.cat([global_orient.reshape(-1, 1, 3),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 2 but got size 0 for tensor number 4 in the list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions