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

 更新时间:2020年02月20日 16:14:57   作者:rasekk  
今天小编就为大家分享一篇pytorch 模型的train模式与eval模式实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

原因

对于一些含有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实现一个简单的能够上传下载的HTTP服务器

    用Python实现一个简单的能够上传下载的HTTP服务器

    这篇文章主要介绍了用Python实现一个简单的能够上传下载的HTTP服务器,是Python网络编程学习当中的基础,本文示例基于Windows操作系统实现,需要的朋友可以参考下
    2015-05-05
  • python使用tkinter实现自定义多参数对话框

    python使用tkinter实现自定义多参数对话框

    Tkinter模块是Python标准库中的一部分,用于创建图形用户界面(GUI)应用程序,它提供了一组工具和组件,用于创建窗口、按钮、文本框等用户界面元素,并且可以响应用户的输入,本文将给大家讲讲python如何使用tkinter实现自定义多参数对话框
    2023-08-08
  • python进程的状态、创建及使用方法详解

    python进程的状态、创建及使用方法详解

    这篇文章主要介绍了python进程的状态、创建及使用方法,结合实例形式详细分析了Python进程的概念、原理、工作状态、创建以及使用方法,需要的朋友可以参考下
    2019-12-12
  • Django+python服务器部署与环境部署教程详解

    Django+python服务器部署与环境部署教程详解

    这篇文章主要介绍了Django+python服务器部署与环境部署教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python使用Pygame绘制时钟

    Python使用Pygame绘制时钟

    这篇文章主要为大家详细介绍了Python使用Pygame绘制时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Python虚拟机之super超级魔法的使用和工作原理详解

    Python虚拟机之super超级魔法的使用和工作原理详解

    在本篇文章中,我们将深入探讨Python中的super类的使用和内部工作原理,super类作为Python虚拟机中强大的功能之一,super 可以说是 Python 对象系统基石,他可以帮助我们更灵活地使用继承和方法调用,需要的朋友可以参考下
    2023-10-10
  • python利用re,bs4,requests模块获取股票数据

    python利用re,bs4,requests模块获取股票数据

    这篇文章主要介绍了python利用re,bs4,requests模块获取股票数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python表达式的优先级详解

    Python表达式的优先级详解

    在本篇文章里小编给大家整理了关于Python表达式的优先级的知识点内容,需要的朋友们可以学习下。
    2020-02-02
  • Python调用Windows命令打印文件

    Python调用Windows命令打印文件

    Windows命令行打印文件使用print 命令,具体用法可使用help print查看,下面是使用Python调用print指令执行打印文件功能的代码,需要的朋友可以参考下
    2020-02-02
  • python处理自动化任务之同时批量修改word里面的内容的方法

    python处理自动化任务之同时批量修改word里面的内容的方法

    在本篇文章里小编给各位整理的是一篇关于利用python处理自动化任务之同时批量修改word里面的内容的文章,需要的可以参考学习下。
    2019-08-08

最新评论