【错误记录】RuntimeError: Error(s) in loading state_dict for ResNet

这是一次低级错误,是我第一次使用ResNet预测。

完整的错误记录如下:

RuntimeError: Error(s) in loading state_dict for ResNet:
	size mismatch for fc.weight: copying a param with shape torch.Size([5, 512]) from checkpoint, the shape in current model is torch.Size([4, 512]).
	size mismatch for fc.bias: copying a param with shape torch.Size([5]) from checkpoint, the shape in current model is torch.Size([4]).

可以看到上述错误的出现主要是因为ResNet,参数的调整。对于原项目的图像来说,是花朵的分类。其中将花朵分为5类。而我这次项目所需的分类是四类,所以就出现了代码参数的错误。

 这个时候刷到了帖子 :

 

最后的 解决方法,就是将训练代码重新改一下参数就好了,代码中类别的数量,需要和数据集的图片类别相对应后再重新训练。

就是将下面代码的‘4’改成对应的类别数就可以啦:

net.fc = nn.Linear(in_channel, 4)

你可能感兴趣的:(pytorch,人工智能,python)