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的框架下的web app的详细教程
Apr 30 Python
python使用KNN算法手写体识别
Feb 01 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
python采集微信公众号文章
Dec 20 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
django 解决自定义序列化返回处理数据为null的问题
May 20 Python
Python requests接口测试实现代码
Sep 08 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php 破解防盗链图片函数
2008/12/09 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
jquery之Document元素选择器篇
2008/08/14 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
核心价值观演讲稿
2014/05/13 职场文书
妇联主席先进事迹
2014/05/18 职场文书
重阳节活动总结
2014/08/27 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技