PyTorch 1.0在Python3.7中加载VGGFace2重量

PyTorch 1.0在Python3.7中加载VGGFace2重量,python,python-3.x,python-2.7,pytorch,Python,Python 3.x,Python 2.7,Pytorch,我正在使用Python3.7和PyTorch 1.0开发一个人脸识别系统。我想使用VGGFace2 Resnet50预训练模型作为特征提取器。我已经下载了模型和重量。 我按照project readme的说明运行以下代码: MainModel = imp.load_source('MainModel', 'resnet50_128_pytorch.py') model = torch.load('resnet50_128_pytorch.pth') 第一行按预期执行,但在第二行中 “asci

我正在使用Python3.7和PyTorch 1.0开发一个人脸识别系统。我想使用VGGFace2 Resnet50预训练模型作为特征提取器。我已经下载了模型和重量。 我按照project readme的说明运行以下代码:

MainModel = imp.load_source('MainModel', 'resnet50_128_pytorch.py') 
model = torch.load('resnet50_128_pytorch.pth')
第一行按预期执行,但在第二行中

“ascii”编解码器无法解码位置1124处的字节0xc3:序号不在 射程(128)

我在Stackoverflow和Google中搜索了一下,我发现可能是关于这个用Python2保存的模型,从Python3加载会产生问题。有什么办法可以解决这个问题吗


谢谢。

我找到了一个解决方案,目前看来它正在工作。它基本上用拉丁1编码改变了pickle负载

from functools import partial
import pickle
pickle.load = partial(pickle.load, encoding="latin1")
pickle.Unpickler = partial(pickle.Unpickler, encoding="latin1")
MainModel = imp.load_source('MainModel', 'resnet50_ft_pytorch.py') 
model = torch.load('resnet50_ft_pytorch.pth', map_location=lambda storage, loc: storage, pickle_module=pickle)