最近在修改模型不支持的算子后,由于对模型的效果产生了影响,所以需要进行微调训练,但是训练的时候报错了,如下:
File "/home/xxxxxxx/EdgeNets/nn_layers/efficient_pyramid_pool.py", line 300, in forward
out = torch.cat(hs, dim=1)
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 1. Got 28 and 14 in dimension 2 at /pytorch/aten/src/THC/generic/THCTensorMath.cu:71
开始以为是修改的代码有问题,后来排查完之后是在中间测试的时候加了打印语句。如下:
print("hs.shape:", np.array(hs).shape)
由于hs的类型是list,我想查看他的shape,所以通过np.array的shape进行了查看。定位到是这句的原因后,在这句之前之后对hs的type进行了打印,输出如下:
hs.type: <class 'list'>
hs.shape: (5,)
hs.type: <class 'list'>
感觉没有改变类型,不知道为啥会影响,先记录一下。
博主在调整模型后进行微调训练时遇到RuntimeError,源于在处理list类型的中间变量hs时shape不匹配。通过打印发现hs类型为list且shape为(5,),但后续操作导致了问题。
1万+

被折叠的 条评论
为什么被折叠?



