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 相关文章推荐
django中send_mail功能实现详解
Feb 06 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
用python实现监控视频人数统计
May 21 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 Python
基于Python实现一个春节倒计时脚本
Jan 22 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
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php简单获取复选框值的方法
2016/05/11 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
二级域名转向类
2006/11/09 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
Python中字符串对齐方法介绍
2015/05/21 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python使用matplotlib绘制热图
2018/11/07 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
小小商店教学反思
2014/04/27 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL