使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!

Class Inpaint_Network()......
Model = Inpaint_Nerwoek()#train:
Model.train(mode=True)
.....
#test:
Model.eval()

1.model.train()
启用 BatchNormalization 和 Dropout。

2.model.eval()
不启用 BatchNormalization 和 Dropout。

训练完train样本后,生成的模型model要用来测试样本。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。这是model中含有batch normalization层所带来的的性质。

在做one classification的时候,训练集和测试集的样本分布是不一样的,尤其需要注意这一点。

【pytorch】model.train和model.eval用法及区别详解相关推荐

  1. python cut函数_基于python cut和qcut的用法及区别详解

    我就废话不多说了,直接上代码吧: from pandas import Series,DataFrame import pandas as pd import numpy as np from num ...

  2. keydown、keypress与keyup用法及区别详解

    定义和用法 - [keydown - 键按下的过程](https://www.runoob.com/jquery/event-keydown.html) 当键盘键被按下时发生 keydown 事件. ...

  3. MySQL中索引与视图的用法与区别详解

    索引与视图是我们在日常使用mysql必不可少的一部分,最近在学习中看到一本书中关于这方法写的不错,所以这篇文章主要给大家介绍了关于MySQL中索引与视图的使用与区别的相关资料,需要的朋友可以参考借鉴, ...

  4. 【Pytorch】model.train() 和 model.eval() 原理与用法

    文章目录 一.两种模式 二.功能 1. model.train() 2. model.eval() 为什么测试时要用 model.eval() ? 3. 总结与对比 三.Dropout 简介 参考链接 ...

  5. model.train()与model.eval()的用法、Dropout原理、relu,sigmiod,tanh激活函数、nn.Linear浅析

    转载:原文地址-传送门 1.model.train()与model.eval()的用法 看别人的面经时,浏览到一题,问的就是这个.自己刚接触pytorch时套用别人的框架,会在训练开始之前写上mode ...

  6. 【pytorch】model.train()和model.evel()的用法

    1.model.train()与model.eval()的用法 看别人的面经时,浏览到一题,问的就是这个.自己刚接触pytorch时套用别人的框架,会在训练开始之前写上model.trian(),在测 ...

  7. 【Pytorch】model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

    model.train() 启用 Batch Normalization 和 Dropout 如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model. ...

  8. Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

    model.train()和model.eval()的区别主要在于Batch Normalization和Dropout两层. model.train() 官方文档 启用 Batch Normaliz ...

  9. model.train()、model.eval()、optimizer.zero_grad()、loss.backward()、optimizer.step作用及原理详解【Pytorch入门手册】

    1. model.train() model.train()的作用是启用 Batch Normalization 和 Dropout. 如果模型中有BN层(Batch Normalization)和D ...

最新文章

  1. RabbitMQ —— 延迟队列
  2. 1个人,耗时2年半,这款大型仙侠3D硬核ARPG是怎么做出来的?
  3. HDU - 3486 Interviewe(RMQ-st表+暴力)
  4. leetcode 464. Can I Win | 464. 我能赢吗(博弈论,动态规划)
  5. Java 8和Java 14之间的新功能
  6. 电影《你好,李焕英》进入全球票房榜前100
  7. Android:Activity(三):启动其他Activity并返回结果
  8. struck在c语言中的作用,C语言-选择题及答案.doc
  9. python绘制散点图的函数_python绘制散点图
  10. 【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】
  11. Navicat连接Mysql教程
  12. DTU和RTU的区别
  13. 山大软件项目管理复习整理
  14. python—wordcloud库绘制词云
  15. Spark Core实战:解析Tomcat日志
  16. 适合用做公司官网WordPress主题风格免受权版本
  17. 论文阅读:SPR:Supervised Personalized Ranking Based on Prior Knowledge for Recommendation
  18. GIT统计代码量及IDEA Statistic统计解析
  19. kali 使用u盘安装提示“无法挂在光盘..”的解决方案
  20. 梳理STM32F429之通信传输部分---NO.8 硬件SPI

热门文章

  1. boost::type_erasure模块实现了支持多个签名的 Boost.Function 扩展
  2. boost::shared_from_raw相关的测试程序
  3. boost::mpi::cartesian_communicator相关用法的测试程序
  4. GDCM:gdcm::ImplicitDataElement的测试程序
  5. Boost:字符串裁剪Trim的测试程序
  6. DCMTK:OFCharacterEncoding的测试程序
  7. VTK:可视化之Hawaii
  8. VTK:可视化之LoopShrink
  9. VTK:Utilities之GetClassName
  10. OpenCV视网膜和现实世界的视野