hongsukchoi / TCMR_RELEASE

Official Pytorch implementation of "Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video", CVPR 2021
MIT License
287 stars 39 forks source link

TCMR missmatch?? #27

Open codeHorasan opened 2 years ago

codeHorasan commented 2 years ago

RuntimeError: Error(s) in loading state_dict for TCMR: size mismatch for regressor.smpl.shapedirs: copying a param with shape torch.Size([6890, 3, 10]) from checkpoint, the shape in current model is torch.Size([6890, 3, 300]).

Anyone know about this?

hongsukchoi commented 2 years ago

I am not sure what your running (demo or test?), but just change the current model to [6890, 3, 10].

codeHorasan commented 2 years ago

I am running demo, python demo.py --vid_file demo.mp4 with CPU.

I am getting this error after loading pre-trained model from "tcmr_demo_model.pth.tar", at model.load_state_dict

ckpt = ckpt['gen_state_dict'] model.load_state_dict(ckpt, strict=False)

hongsukchoi commented 2 years ago

Version mismatch! https://github.com/hongsukchoi/TCMR_RELEASE/issues/16

You don't have to re-install or downgrade. Just change regressor.smpl.shapedirs to [6890,3,10] dimension

codeHorasan commented 2 years ago

Thank you for your help but I couldn't find on the code where I should change. It gives the error on TCMR, before even creating the SMPL model but in the error message, it mentions regressor.smpl.shapedirs. I tried to add "shapedirs = [6890,3,10]" to SMPL constructor but as I get the error before that line is compiled.

hongsukchoi commented 2 years ago

Then, the easiest way is to match the version. smplx==0.1.13

Or as I said, change the SMPL's shapedirs to 10 here https://github.com/hongsukchoi/TCMR_RELEASE/blob/ade5ab5e2bd8b1a26338406c0b272d2a16f85070/lib/models/smpl.py#L61

ydl832 commented 6 months ago

Thank you for your help but I couldn't find on the code where I should change. It gives the error on TCMR, before even creating the SMPL model but in the error message, it mentions regressor.smpl.shapedirs. I tried to add "shapedirs = [6890,3,10]" to SMPL constructor but as I get the error before that line is compiled.

Hello, have you solved this problem? I have the same problem, do you know how to change the code? Thanks.

niuniuaa commented 2 months ago

感谢您的帮助,但我在代码中找不到应该更改的地方。它在创建 SMPL 模型之前就给出了 TCMR 错误,但在错误消息中,它提到了 regressor.smpl.shapedirs。我尝试将“shapedirs = [6890,3,10]”添加到 SMPL 构造函数中,但在编译该行之前我收到了错误。

你好,你解决了这个问题吗?我也有同样的问题,你知道怎么改代码吗?谢谢。

I have the same problem, have you solved it?

hongsukchoi commented 2 months ago

I think you can add this line here:

self.smpl.shapedirs = self.smpl.shapedirs[:, :, :10]