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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
Flask入门教程实例:搭建一个静态博客
Mar 27 Python
Python base64编码解码实例
Jun 21 Python
python 循环while和for in简单实例
Aug 16 Python
python决策树之CART分类回归树详解
Dec 20 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
python实现学生通讯录管理系统
Feb 25 Python
Python实现简单的俄罗斯方块游戏
Sep 25 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 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
php 魔术方法使用说明
2009/10/20 PHP
php防盗链的常用方法小结
2010/07/02 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
python实现的一个p2p文件传输实例
2014/06/04 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
学年末自我鉴定
2014/01/21 职场文书
大学军训感言1500字
2014/03/09 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书