出现该报错的原因是pytorch1.6以上版本保存的方式使用了新版的保存方式
有个隐藏的bool参数_use_new_zipfile_serialization,默认是True,将其修改为False保存的模型就可以在新旧版中使用。
因此只需要使用新版的pytorch重新读取模型,并使用该方法重新保存后就解决了该问题。
# torch.__version__>=1.6
import torch
state_dict = torch.load('pytorch_model.pth')
torch.save(state_dict, 'pytorch_model.pth', _use_new_zipfile_serialization=False)