解决Pytorch中的神坑:关于model.eval的问题
作者:汐梦聆海 时间:2021-09-17 17:16:55
有时候使用Pytorch训练完模型,在测试数据上面得到的结果令人大跌眼镜。
这个时候需要检查一下定义的Model类中有没有 BN 或 Dropout 层,如果有任何一个存在
那么在测试之前需要加入一行代码:
#model是实例化的模型对象
model = model.eval()
表示将模型转变为evaluation(测试)模式,这样就可以排除BN和Dropout对测试的干扰。
因为BN和Dropout在训练和测试时是不同的:
对于BN,训练时通常采用mini-batch,所以每一批中的mean和std大致是相同的;而测试阶段往往是单个图像的输入,不存在mini-batch的概念。所以将model改为eval模式后,BN的参数固定,并采用之前训练好的全局的mean和std;
对于Dropout,训练阶段,隐含层神经元先乘概率P,再进行激活;而测试阶段,神经元先激活,每个隐含层神经元的输出再乘概率P。
如下图所示:
补充:pytorch中model.eval之后是否还需要model.train的问题
答案是:需要的
正确的写法是
for循环之后再开启train,
循环之后的评估model.eval之后就会再次回到model.train
来源:https://blog.csdn.net/jackzhang11/article/details/105770223
标签:Pytorch,model.eval
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Dreamweaver2004 中文乱码解决方案
2007-01-31 10:20:00
![](https://img.aspxhome.com/file/UploadPic/20071/2007131102058101s.gif)
TensorFlow实现随机训练和批量训练的方法
2022-06-07 07:45:29
![](https://img.aspxhome.com/file/2023/7/117577_0s.png)
基于Python制作一个文件解压缩工具
2021-01-10 08:00:13
![](https://img.aspxhome.com/file/2023/0/67410_0s.png)
MySQL 数值类型概述int smallint tinyint
2010-11-02 11:46:00
python获得一个月有多少天的方法
2022-02-21 00:55:15
python中Switch/Case实现的示例代码
2021-09-18 22:03:39
PyCharm在win10的64位系统安装实例
2022-10-14 20:24:46
![](https://img.aspxhome.com/file/2023/6/109336_0s.jpg)
PHP header()函数常用方法总结
2023-09-06 16:51:50
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2023-03-28 12:39:51
解决pytorch 保存模型遇到的问题
2021-12-13 08:26:37
python中sort和sorted排序的实例方法
2022-12-22 09:10:12
基于Python中的turtle绘画星星和星空
2022-10-31 08:57:41
![](https://img.aspxhome.com/file/2023/8/86368_0s.png)
基于python opencv单目相机标定的示例代码
2022-10-10 23:42:37
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2023-05-01 17:28:00
![](https://img.aspxhome.com/file/2023/8/86218_0s.gif)
仿dw8代码折叠功能的HTML编辑器
2008-04-29 21:19:00
HTML在线编辑器任意设置字号大小
2007-08-29 19:55:00
Python异常处理总结
2021-12-18 17:19:19
php实现mysql事务处理的方法
2023-11-10 10:42:39
.NET Core2.1如何获取自定义配置文件信息详解
2023-07-17 16:26:34
![](https://img.aspxhome.com/file/2023/5/79005_0s.png)
Python面向对象之类和对象实例详解
2022-10-02 05:39:34
![](https://img.aspxhome.com/file/2023/2/86672_0s.png)