Pytorch保存模型用于测试和用于继续训练的区别详解


Posted in Python onJanuary 10, 2020

保存模型

保存模型仅仅是为了测试的时候,只需要

torch.save(model.state_dict, path)

path 为保存的路径

但是有时候模型及数据太多,难以一次性训练完的时候,而且用的还是 Adam优化器的时候, 一定要保存好训练的优化器参数以及epoch

state = { 'model': model.state_dict(), 'optimizer':optimizer.state_dict(), 'epoch': epoch }  
torch.save(state, path)

因为这里

def adjust_learning_rate(optimizer, epoch):
  lr_t = lr
  lr_t = lr_t * (0.3 ** (epoch // 2))
  for param_group in optimizer.param_groups:
    param_group['lr'] = lr_t

学习率是根据epoch变化的, 如果不保存epoch的话,基本上每次都从epoch为0开始训练,这样学习率就相当于不变了!!

恢复模型

恢复模型只用于测试的时候,

model.load_state_dict(torch.load(path))

path为之前存储模型时的路径

但是如果是用于继续训练的话,

checkpoint = torch.load(path)
model.load_state_dict(checkpoint['model'])
optimizer.load_state_dict(checkpoint['optimizer'])
start_epoch = checkpoint['epoch']+1

依次恢复出模型 优化器参数以及epoch

以上这篇Pytorch保存模型用于测试和用于继续训练的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中splitlines()方法的使用简介
May 20 Python
python2.7实现爬虫网页数据
May 25 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
用Python实现大文本文件切割的方法
Jan 12 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
学Python 3的理由和必要性
Nov 19 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
python代码区分大小写吗
Jun 17 Python
Python学习笔记之装饰器
Aug 06 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
实战Python爬虫爬取酷我音乐
Apr 11 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 #Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 #Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 #Python
Pytorch 保存模型生成图片方式
Jan 10 #Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 #Python
python如何获取apk的packagename和activity
Jan 10 #Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 #Python
You might like
mysql中存储过程、函数的一些问题
2007/02/14 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
js a标签点击事件
2017/03/30 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
复习Python中的字符串知识点
2015/04/14 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
我们的节日元宵节活动总结
2015/02/06 职场文书
2015年教研员工作总结
2015/05/26 职场文书
《去年的树》教学反思
2016/02/18 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS