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 相关文章推荐
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
浅谈django中的认证与登录
Oct 31 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python的文件操作方法汇总
Nov 10 Python
Django视图和URL配置详解
Jan 31 Python
python实现二叉查找树实例代码
Feb 08 Python
python主线程捕获子线程的方法
Jun 17 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 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安装为Apache DSO
2006/10/09 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
js定时器实例分享
2016/12/20 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python入门_条件控制(详解)
2017/05/16 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
电气自动化求职信
2014/06/24 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
英文感谢信格式
2015/01/21 职场文书
人事文员岗位职责
2015/02/04 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
毕业感言怎么写
2015/07/31 职场文书
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js