pytorch掉坑记录:model.eval的作用说明
作者:youuuuuziiii 时间:2023-01-07 11:52:18
训练完train_datasets之后,model要来测试样本了。在model(test_datasets)之前,需要加上model.eval(). 否则的话,有输入数据,即使不训练,它也会改变权值。
这是model中含有batch normalization层所带来的的性质。
在做one classification的时候,训练集和测试集的样本分布是不一样的,尤其需要注意这一点。
补充知识:pytorch测试的时候为何要加上model.eval()
Do need to use model.eval() when I test?
Sure, Dropout works as a regularization for preventing overfitting during training.
It randomly zeros the elements of inputs in Dropout layer on forward call.
It should be disabled during testing since you may want to use full model (no element is masked)
使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!!!!!!
来源:https://blog.csdn.net/iammelon/article/details/89928531
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Matplotlib 绘制精美的数学图形例子
![](https://img.aspxhome.com/file/2023/2/68392_0s.jpg)
Python中实现常量(Const)功能
Javascript操作表单之间的数据传递
pygame库实现俄罗斯方块小游戏
![](https://img.aspxhome.com/file/2023/4/69534_0s.jpg)
mysql获得60天前unix时间思路及代码
SQLServer2005重建索引前后对比分析
PyTorch上实现卷积神经网络CNN的方法
分享十个Python超级好用提高工作效率的自动化脚本
Python使用random和tertools模块解一些经典概率问题
用户反馈对产品设计的帮助
![](https://img.aspxhome.com/file/UploadPic/20092/9/blog02081-75s.jpg)
JavaScript解决Joseph问题
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
![](https://img.aspxhome.com/file/2023/7/108007_0s.jpg)
SQL Server 2005 SSIS技巧:动态目的文件名
Vue.2.0.5过渡效果使用技巧
![](https://img.aspxhome.com/file/2023/4/139764_0s.png)
d3.js实现简单的网络拓扑图实例代码
![](https://img.aspxhome.com/file/2023/0/126870_0s.jpg)
用python写爬虫简单吗
MySQL 查询 并集、交集、差集方式
![](https://img.aspxhome.com/file/2023/8/128388_0s.png)
Golang 使用gorm添加数据库排他锁,for update
Python+radar实现随机日期时间的生成
![](https://img.aspxhome.com/file/2023/2/134682_0s.jpg)