最近在跑一个简单的CNN做图像分类,输入是64x64的RGB图,batch size设了32。网络结构就是conv+pool+fc,最后一层fc我算过应该输出128维,然后接一个Linear(128, 10)。但一跑训练就报错:size mismatch for fc2.weight: copying a param with shape torch.Size([64, 128]) from checkpoint, but the checkpoint has torch.Size([32, 128])
我明明记得模型定义里是128输入到10输出,怎么加载权重时它说期望64?检查了state_dict的key和形状,发现是保存模型时把fc2写错了,但代码里没改过啊……是不是我哪里对nn.Sequential的索引理解有误?求指点,网上搜了一圈全是英文,看得头疼。