pytorch:model.train和model.eval用法及区别详解
作者:Hinton-wu 时间:2022-07-13 19:22:51
使用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()
model.train()
启用 BatchNormalization 和 Dropout
model.eval()
不启用 BatchNormalization 和 Dropout
训练完train样本后,生成的模型model要用来测试样本。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。这是model中含有batch normalization层所带来的的性质。
在做one classification的时候,训练集和测试集的样本分布是不一样的,尤其需要注意这一点。
来源:https://blog.csdn.net/qq_38410428/article/details/101102075
标签:pytorch,model.train,model.eval


猜你喜欢
用python爬取历史天气数据的方法示例
2022-10-30 21:28:42

一个简单的ASP生成HTML分页程序
2009-07-05 18:32:00
关于JS中的事件--Event对象
2008-03-16 14:22:00
设计稿标注首屏线的确定始末
2011-03-30 12:36:00
Go项目中添加生成时间与版本信息的方法
2024-04-27 15:31:39
Python实现的用户登录系统功能示例
2021-07-02 03:38:18

ASP XML编程objXML.async = False
2011-04-21 10:55:00
Jquery获取和修改img的src值的方法
2024-04-22 13:05:32
python 字典访问的三种方法小结
2022-03-25 06:07:26
为什么Access数据库的精髓不在VBA之中
2008-11-28 16:45:00
explain分析sql效率的方法
2024-01-22 01:26:55

python面向对象 反射原理解析
2021-05-14 08:56:32
解决Vue不能检测数组或对象变动的问题
2024-04-27 15:59:40
举例讲解Python中的算数运算符的用法
2022-03-30 22:14:49

关于Youtube URL的十个技巧
2009-04-21 13:19:00

详解python中的生成器、迭代器、闭包、装饰器
2023-06-25 19:39:57
使用有趣的自定义标记布局页面
2012-07-12 01:29:03
Go语言Goroutinue和管道效率详解
2024-02-02 18:19:09

python练习程序批量修改文件名
2022-01-29 06:53:12
Python SSL证书验证问题解决方案
2022-11-06 13:54:35
