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小技巧之批量抓取美女图片
Jun 06 Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python的Urllib库的基本使用教程
Apr 30 Python
python实现简单爬虫功能的示例
Oct 24 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
Oct 14 Python
Django框架模板介绍
Jan 15 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
python获取命令行参数实例方法讲解
Nov 02 Python
Django正则URL匹配实现流程解析
Nov 13 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实现的用户查询类实例
2015/06/18 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
JS中Location使用详解
2015/05/12 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
PHP7新特性简述
2017/06/11 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
Python+Opencv识别两张相似图片
2020/03/23 Python
Django返回json数据用法示例
2016/09/18 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
创先争优活动承诺书
2014/08/30 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL