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 相关文章推荐
Django rest framework基本介绍与代码示例
Jan 26 Python
Python管理Windows服务小脚本
Mar 12 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
pandas 读取各种格式文件的方法
Jun 22 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
python如何实现数据的线性拟合
Jul 19 Python
python selenium循环登陆网站的实现
Nov 04 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
php输入流php://input使用浅析
2014/09/02 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php支付宝APP支付功能
2020/07/29 PHP
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Python类的继承和多态代码详解
2017/12/27 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
NumPy排序的实现
2020/01/21 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
Python中Selenium模块的使用详解
2020/10/09 Python
Python调用JavaScript代码的方法
2020/10/27 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
求职信如何撰写?
2019/05/22 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
php解析非标准json、非规范json的方式实例
2022/05/10 PHP