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时间模块中的datetime模块
Jan 13 Python
Python 正则表达式入门(中级篇)
Dec 07 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
python 标准差计算的实现(std)
Jul 29 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
python 数据类型强制转换的总结
Jan 25 Python
TensorFlow的自动求导原理分析
May 26 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
JpGraph php柱状图使用介绍
2011/08/23 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
php 生成短网址原理及代码
2014/01/23 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
Javascript Objects详解
2014/09/04 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
keras的三种模型实现与区别说明
2020/07/03 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
新闻专业推荐信范文
2013/11/20 职场文书
住宅质量保证书
2014/04/29 职场文书
八一建军节演讲稿
2014/09/10 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
初中学生操行评语
2014/12/26 职场文书
谢师宴答谢词
2015/01/05 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
React四级菜单的实现
2022/04/08 Javascript