pytorch 模型的train模式与eval模式实例


Posted in Python onFebruary 20, 2020

原因

对于一些含有batch normalization或者是Dropout层的模型来说,训练时的froward和验证时的forward有计算上是不同的,因此在前向传递过程中需要指定模型是在训练还是在验证。

源代码

[docs] def train(self, mode=True):
  r"""Sets the module in training mode.

  This has any effect only on certain modules. See documentations of
  particular modules for details of their behaviors in training/evaluation
  mode, if they are affected, e.g. :class:`Dropout`, :class:`BatchNorm`,
  etc.

  Returns:
   Module: self
  """
  self.training = mode
  for module in self.children():
   module.train(mode)
  return self

[docs] def eval(self):
  r"""Sets the module in evaluation mode.

  This has any effect only on certain modules. See documentations of
  particular modules for details of their behaviors in training/evaluation
  mode, if they are affected, e.g. :class:`Dropout`, :class:`BatchNorm`,
  etc.
  """
  #该方法调用了nn.train()方法,把参数默认值改为false. 增加聚合性
  return self.train(False)

在使用含有BN层,dropout层的神经网路来说,必须要区分训练验证

以上这篇pytorch 模型的train模式与eval模式实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python tempfile模块学习笔记(临时文件)
May 25 Python
python使用datetime模块计算各种时间间隔的方法
Mar 24 Python
Python学习小技巧之列表项的拼接
May 20 Python
python多维数组切片方法
Apr 13 Python
python内置数据类型之列表操作
Nov 12 Python
Python3.5集合及其常见运算实例详解
May 01 Python
python3下载抖音视频的完整代码
Jun 05 Python
Django 外键的使用方法详解
Jul 19 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
Jun 12 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 #Python
pytorch 使用加载训练好的模型做inference
Feb 20 #Python
pytorch中的inference使用实例
Feb 20 #Python
python encrypt 实现AES加密的实例详解
Feb 20 #Python
Python关于反射的实例代码分享
Feb 20 #Python
Python3监控疫情的完整代码
Feb 20 #Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 #Python
You might like
PHP定时任务延缓执行的实现
2014/10/08 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
php实现映射操作实例详解
2019/10/02 PHP
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
js确认删除对话框效果的示例代码
2014/02/20 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
浅谈js原生拖放
2016/11/21 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python中的pass语句使用方法讲解
2015/05/14 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Python中文件的读取和写入操作
2018/04/27 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
如何使用python进行pdf文件分割
2019/11/11 Python
python如何基于redis实现ip代理池
2020/01/17 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
魅力教师事迹材料
2014/01/10 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
公司营业员的自我评价
2014/03/04 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
毕业生应聘求职信
2014/07/10 职场文书
项目投资合作意向书
2014/07/29 职场文书
2019财务转正述职报告
2019/06/27 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python