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运行的17个时新手常见错误小结
Aug 07 Python
python协程用法实例分析
Jun 04 Python
Python登录注册验证功能实现
Jun 18 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
在Python中预先初始化列表内容和长度的实现
Nov 28 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
使用jupyter notebook运行python和R的步骤
Aug 13 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
Django路由层如何获取正确的url
Jul 15 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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
基于PHPExcel的常用方法总结
2013/06/13 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
pytyon 带有重复的全排列
2013/08/13 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
使用python实现BLAST
2018/02/12 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
Order by的几种用法
2013/06/16 面试题
习总书记三严三实学习心得体会
2014/10/13 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫