在训练模型的时候,要加载一些预训练模型,比如vgg等,代码如下
model = torchvision.models.vgg19(pretrained=True)
train的时候会显示
Downloading: "https://download.pytorch.org/models/vgg19-dcbb9e9d.pth" to /root/.cache/torch/checkpoints/vgg19-dcbb9e9d.pth
然后出错:
socket.gaierror: [Errno -3] Temporary failure in name resolution
和
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
这是因为无法下载预训练模型,要用外网下载。
所以比较方便的做法就是先把模型下下来,自己想办法连外网然后输链接就自动下了https://download.pytorch.org/models/vgg19-dcbb9e9d.pth
然后把下载的.pth模型文件放在一个固定路径下面,比如
/home/team/torch/models/pre_model/vgg19-dcbb9e9d.pth
最后把代码改成
model = torchvision.models.vgg19(pretrained=False)
pthfile = r'/home/team/torch/models/pre_model/vgg19-dcbb9e9d.pth'
model.load_state_dict(torch.load(pthfile))```
就可以了。