扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章给大家分享的是有关pytorch中加载(.pth)格式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联,专注为中小企业提供官网建设、营销型网站制作、成都响应式网站建设公司、展示型成都网站设计、网站制作等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。有一些非常流行的网络如 resnet、squeezenet、densenet等在pytorch里面都有,包括网络结构和训练好的模型。
pytorch自带模型网址:https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/
按官网加载预训练好的模型:
import torchvision.models as models # pretrained=True就可以使用预训练的模型 resnet18 = models.resnet18(pretrained=True) print(resnet18)
报错如下:
requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, '由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。', None, 10060, None))
主要是因为代码会去远端下载模型的参数,而国内的网一般连接不上,这是我们需要手动去下载你要的预训练网络。
通过地址下载,地址有两种获取方式:
1.从报错里面获取,上述代码运行时会出现这样一行信息:
Downloading: "https://download.pytorch.org/models/resnet18-5c106cde.pth" to C:\Users\Luo/.torch\models\resnet18-5c106cde.pth
复制这个网址到浏览器,有可能打不开,去掉https://,直接输入download.pytorch.org/models/resnet18-5c106cde.pth就可以下载了。
2.从pytorch的github下找模型的地址:https://github.com/pytorch/vision/tree/master/torchvision/models
找到对应模型名称点进去找地址
下载好后自行保存,我是直接存在pytorch models里面
接下来就是运行这个.pth文件。首先要判断是保存的整个网络结构加参数呢,还是只保存了参数,可以测试一下。这是我的模型是squeezenet1_1,你可以测试自己下载的模型
import torch pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth' net = torch.load(pthfile) print(net)
结果为
很明显就是只保存了参数,这是我们要换个方法加载模型
import torch import torchvision.models as models # pretrained=True就可以使用预训练的模型 net = models.squeezenet1_1(pretrained=False) pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth' net.load_state_dict(torch.load(pthfile)) print(net)
结果;
感谢各位的阅读!关于“pytorch中加载(.pth)格式的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流