RuntimeError: Error(s) in loading state_dict for GoogLeNet:
size mismatch for fc.weight: copying a param with shape torch.Size([3, 1024]) from checkpoint, the shape in current model is torch.Size([5, 1024]).
size mismatch for fc.bias: copying a param with shape torch.Size([3]) from checkpoint, the shape in current model is torch.Size([5]).
在使用pytorch的时候出现了这种情况,大概的意思是参数不匹配,上网查找了一番,把不匹配的删除就行了,那我的错误做示范,如下所示:
weights_path = "./googleNet.pth" assert os.path.exists(weights_path), "file: '{}' dose not exist.".format(weights_path) ckpt=torch.load(weights_path, map_location=device) # ckpt.pop('fc.weight') # ckpt.pop('fc.bias') missing_keys, unexpected_keys = model.load_state_dict(ckpt,strict=False)
我注释的这一部分就是问题提示的部分,报错显示fc.weight和fc.bias,比对我的错误,看自己的是那个不匹配,修改成自己的就行
weights_path = "./googleNet.pth"
assert os.path.exists(weights_path), "file: '{}' dose not exist.".format(weights_path) ckpt=torch.load(weights_path, map_location=device)
ckpt.pop('fc.weight')
ckpt.pop('fc.bias')
missing_keys, unexpected_keys = model.load_state_dict(ckpt,strict=False)