Pytorch之保存读取模型实例


Posted in Python onDecember 30, 2019

pytorch保存数据

pytorch保存数据的格式为.t7文件或者.pth文件,t7文件是沿用torch7中读取模型权重的方式。而pth文件是python中存储文件的常用格式。而在keras中则是使用.h5文件。

# 保存模型示例代码
print('===> Saving models...')
state = {
  'state': model.state_dict(),
  'epoch': epoch          # 将epoch一并保存
}
if not os.path.isdir('checkpoint'):
  os.mkdir('checkpoint')
torch.save(state, './checkpoint/autoencoder.t7')

保存用到torch.save函数,注意该函数第一个参数可以是单个值也可以是字典,字典可以存更多你要保存的参数(不仅仅是权重数据)。

pytorch读取数据

pytorch读取数据使用的方法和我们平时使用预训练参数所用的方法是一样的,都是使用load_state_dict这个函数。

下方的代码和上方的保存代码可以搭配使用。

print('===> Try resume from checkpoint')
if os.path.isdir('checkpoint'):
  try:
    checkpoint = torch.load('./checkpoint/autoencoder.t7')
    model.load_state_dict(checkpoint['state'])    # 从字典中依次读取
    start_epoch = checkpoint['epoch']
    print('===> Load last checkpoint data')
  except FileNotFoundError:
    print('Can\'t found autoencoder.t7')
else:
  start_epoch = 0
  print('===> Start from scratch')

以上是pytorch读取的方法汇总,但是要注意,在使用官方的预处理模型进行读取时,一般使用的格式是pth,使用官方的模型读取命令会检查你模型的格式是否正确,如果不是使用官方提供模型通过下面的函数强行读取模型(将其他模型例如caffe模型转过来的模型放到指定目录下)会发生错误。

def vgg19(pretrained=False, **kwargs):
  """VGG 19-layer model (configuration "E")
 
  Args:
    pretrained (bool): If True, returns a model pre-trained on ImageNet
  """
  model = VGG(make_layers(cfg['E']), **kwargs)
  if pretrained:
    model.load_state_dict(model_zoo.load_url(model_urls['vgg19']))
  return model

假如我们有从caffe模型转过来的pytorch模型([0-255,BGR]),我们可以使用:

model_dir = '自己的模型地址'
model = VGG()
model.load_state_dict(torch.load(model_dir + 'vgg_conv.pth'))

也就是pytorch的读取函数进行读取即可。

以上这篇Pytorch之保存读取模型实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现多线程抓取知乎用户
Dec 12 Python
python中执行shell的两种方法总结
Jan 10 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
python中requests和https使用简单示例
Jan 18 Python
python 输出上个月的月末日期实例
Apr 11 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
python地震数据可视化详解
Jun 18 Python
使用python实现ftp的文件读写方法
Jul 02 Python
python文件和文件夹复制函数
Feb 07 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 #Python
Python中如何将一个类方法变为多个方法
Dec 30 #Python
pytorch 实现打印模型的参数值
Dec 30 #Python
Python如何基于smtplib发不同格式的邮件
Dec 30 #Python
pytorch获取模型某一层参数名及参数值方式
Dec 30 #Python
Python类反射机制使用实例解析
Dec 30 #Python
Python读取YAML文件过程详解
Dec 30 #Python
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
15种PHP Encoder的比较
2007/03/06 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
php fread函数使用方法总结
2019/05/28 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
js style动态设置table高度
2014/10/21 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
python3实现磁盘空间监控
2018/06/21 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
在python中修改.properties文件的操作
2020/04/08 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
读书活动总结范文
2014/04/26 职场文书
应聘教师求职信范文
2015/03/20 职场文书
网吧员工管理制度
2015/08/05 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers