xz-pisces / Inner-body

This repository contains a tensorflow implementation of "Learning to Infer Inner-Body under Clothing from Monocular Video".
8 stars 2 forks source link

ValueError: Dimensions must be equal, but are 10 and 300 for 'smpl_t_pose_layer_1/smpl_main/shape_bs' (op: 'MatMul') with input shapes: [?,10], [300,20670]. #2

Open MilesTheProwler opened 1 year ago

MilesTheProwler commented 1 year ago

Hello, I got this error when I run sh bash.sh. Could you please help me what is the problem?

Traceback (most recent call last):
  File "test.py", line 101, in <module>
    main('../sample/' ,'../result/', female=True)
  File "test.py", line 32, in main
    model = Octopus(batch_size=1, smpl_gender_pkl_path=smpl_gender_pkl_path)
  File "/home/ubuntu1080ti/Desktop/Inner-body/IITNET/model/octopus_modi.py", line 258, in __init__
    enumerate(zip(self.poses, self.ts))]
  File "/home/ubuntu1080ti/Desktop/Inner-body/IITNET/model/octopus_modi.py", line 257, in <listcomp>
    smpls = [NameLayer('smpl_{}'.format(i))(smpl([p, self.betas, t, self.offsets])) for i, (p, t) in
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/keras/engine/base_layer.py", line 457, in __call__
    output = self.call(inputs, **kwargs)
  File "/home/ubuntu1080ti/Desktop/Inner-body/IITNET/smpl/smpl_layer.py", line 15, in call
    verts = self.smpl(pose, betas, trans, v_personal)
  File "/home/ubuntu1080ti/Desktop/Inner-body/IITNET/smpl/batch_smpl.py", line 140, in __call__
    tf.matmul(beta, self.shapedirs, name='shape_bs'),
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 2455, in matmul
    a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 5333, in mat_mul
    name=name)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
    op_def=op_def)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3300, in create_op
    op_def=op_def)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1823, in __init__
    control_input_ops)
  File "/home/ubuntu1080ti/miniconda3/envs/3D/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1662, in _create_c_op
    raise ValueError(str(e))
ValueError: Dimensions must be equal, but are 10 and 300 for 'smpl_t_pose_layer_1/smpl_main/shape_bs' (op: 'MatMul') with input shapes: [?,10], [300,20670].
MilesTheProwler commented 1 year ago

Solved ! My bad I just download the wrong SMPL 300 shapes version.

MilesTheProwler commented 1 year ago

image image The result is really different. Something wrong?