Pytorch evaluation每次运行结果不同的解决


Posted in Python onJanuary 02, 2020

这两天跑测试图时,发现用同样的model,同样的测试图,每次运行结果不同;

经过漫长的debug发现,在net architure中有dropout,如下(4):

(conv_block): Sequential(
    (0): ReflectionPad2d((1, 1, 1, 1))
    (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1))
    (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False)
    (3): ReLU(inplace)
    (4): Dropout(p=0.5)
    (5): ReflectionPad2d((1, 1, 1, 1))
    (6): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1))
    (7): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False)
   )

在跑evaluation的时候,因为dropout的存在,每次运行会随机丢一些中间结果,从而导致最终结果有差异;

可以在evaluation过程中,使用eval() class强制丢掉random的内容,code如下:

self.fake_B = self.netG.eval().forward(self.real_A)

以上这篇Pytorch evaluation每次运行结果不同的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 Python
浅谈django model postgres的json字段编码问题
Jan 05 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
Python基础之文件读取的讲解
Feb 16 Python
快速排序的四种python实现(推荐)
Apr 03 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
Django与数据库交互的实现
Jun 03 Python
Python for循环与getitem的关系详解
Jan 02 #Python
python实现双色球随机选号
Jan 01 #Python
PyTorch实现更新部分网络,其他不更新
Dec 31 #Python
pytorch中的transforms模块实例详解
Dec 31 #Python
Pytorch 实现权重初始化
Dec 31 #Python
pytorch 归一化与反归一化实例
Dec 31 #Python
Pytorch 数据加载与数据预处理方式
Dec 31 #Python
You might like
用php代码限制国内IP访问我们网站
2015/09/26 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
微信小程序之前台循环数据绑定
2017/08/18 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
python动态加载包的方法小结
2016/04/18 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python中对_init_的理解及实例解析
2019/10/11 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
彪马日本官网:PUMA日本
2019/01/31 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
感恩父母的演讲稿
2014/05/06 职场文书
政协会议宣传标语
2014/10/09 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis