pytorch 加载(.pth)格式的模型实例


Posted in Python onAugust 20, 2019

有一些非常流行的网络如 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 加载(.pth)格式的模型实例

下载好后自行保存,我是直接存在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)

结果为

pytorch 加载(.pth)格式的模型实例

很明显就是只保存了参数,这是我们要换个方法加载模型

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)格式的模型实例

这下就加载好预训练模型了

以上这篇pytorch 加载(.pth)格式的模型实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的yield浅析
Jun 16 Python
Python中强大的命令行库click入门教程
Dec 26 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
python监控文件并且发送告警邮件
Jun 21 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
Python 支持向量机分类器的实现
Jan 15 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
Python爬虫中urllib3与urllib的区别是什么
Jul 21 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 Python
python multiprocessing模块用法及原理介绍
Aug 20 #Python
python 并发编程 阻塞IO模型原理解析
Aug 20 #Python
PyTorch中常用的激活函数的方法示例
Aug 20 #Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 #Python
python批量解压zip文件的方法
Aug 20 #Python
pytorch获取vgg16-feature层输出的例子
Aug 20 #Python
python 并发编程 非阻塞IO模型原理解析
Aug 20 #Python
You might like
php截取后台登陆密码的代码
2012/05/05 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
python实现在IDLE中输入多行的方法
2018/04/19 Python
基于opencv实现简单画板功能
2020/08/02 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
override和overload的区别
2016/03/09 面试题
业绩考核岗位职责
2014/02/01 职场文书
疾病防治方案
2014/05/31 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
拙作再改《我的收音机情缘》
2022/04/05 无线电