在测试加载训练好的模型时出现上方问题,参考这篇文章,原因是训练和测试的torch版本不一致。
训练的时候是1.6,测试的时候是1.2,因此需要先在1.6版本下加载模型,重新保存,在保存的时候设置use_new_zipfile_serialization=False 就行了。
原本代码:
checkpoint = torch.load(val_path+args.resume)
net.load_state_dict(checkpoint['state_dict'])
重新保存的代码:
checkpoint = torch.load(val_path+args.resume)
state_dict = net.state_dict()
torch.save({'state_dict':state_dict},val_path+args.resume,_use_new_zipfile_serialization=False)