2019-03-09

https://blog.csdn.net/jinxin521125/article/details/78435899

net.eval()作用非常大,特别是在GAN生成任务中,今天下午就是忘了加net.eval()导致生成图片差异很大。据网上描述,原因是BN层计算均值问题。

使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval。

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

eg:

Class Inpaint_Network()

......

Model = Inpaint_Nerwoek()

#train:

Model.train(mode=True)

.....

#test:

Model.eval()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python中self用法详解: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线,在Python中...
    Oldby阅读 1,332评论 0 0
  • 一、概述 RDD创建后就可以在RDD上进行数据处理。RDD支持两种操作:转换(transformation),即从...
    编码前线阅读 1,332评论 0 0
  • 参考资料:《JavaScript从入门到精通》、《PHP、MySQL与JavaScript学习手册》 JavaSc...
    NoelleMu阅读 4,813评论 0 2
  • 在UFC有这样一位拳手。随着他被禁赛之后,整个UFC甚至是整个综合格斗届都有一种少了一道特色风景的感觉。纵使现在名...
    追风_e416阅读 1,306评论 0 0
  • 每日检视116/365 起床:5:30 就寝:11:50 天气:晴 心情:平静 纪念日: 叫我起床的不是闹钟是梦想...
    洒脱转身阅读 1,254评论 0 0