在运行代码时,发生了报错:内容很多,但最关键的就是最后两行。
File "/home/facegroup/anaconda3/envs/tcmr/lib/python3.7/site-packages/smplx/lbs.py", line 347, in batch_rigid_transform
rel_joints.view(-1, 3, 1)).view(-1, joints.shape[1], 4, 4)
RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.
从最后一行可以看出是张量尺寸不匹配,而且看到view()这个函数,大概率是张量不连续,以前这种问题遇到过多次,轻车熟路。
顺着路径找到报错位置,加上contiguous()强行使张量连续即可,具体如下:
rel_joints.view(-1, 3, 1)).view(-1, joints.shape[1], 4, 4)
# 改为
rel_joints.contiguous().view(-1, 3, 1)).view(-1, joints.shape[1], 4, 4)