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使用递归解决全排列数字示例
Feb 11 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
python学生信息管理系统(完整版)
Apr 05 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
python学生管理系统开发
Jan 30 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
python 合并多个excel中同名的sheet
Jan 22 Python
python基础详解之if循环语句
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
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
Symfony生成二维码的方法
2016/02/04 PHP
鼠标图片振动代码
2006/07/06 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
javascript常用的方法分享
2015/07/01 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
简单介绍Python中的JSON模块
2015/04/08 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python测试人员需要掌握的知识
2018/02/08 Python
python format 格式化输出方法
2018/07/16 Python
Python3解释器知识点总结
2019/02/19 Python
python仿抖音表白神器
2019/04/08 Python
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
媒体宣传策划方案
2014/05/25 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技