【Pytorch】model.eval()与model.train()

model.train():

作用是启用Batch Normalization 和 Dropout

如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train()。model.train()是保证BN层能够用到每一批数据的均值和方差。对于Dropout,model.train()是随机取一部分网络连接来训练更新参数。

model.eval():

如果模型中有BN层(Batch Normalization)和Dropout,在测试时添加model.eval()。保证BN层能够用全部训练数据的均值和方差,即测试过程中要保证BN层的均值和方差不变。对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。

训练完train样本后,生成的模型model要用来测试样本。在测试集上进行测试之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。这是model中含有BN层和Dropout所带来的的性质。

相关推荐
体育分享_大眼3 分钟前
足球AI模型:一款用数据分析赛事的模型
人工智能·数据挖掘·数据分析
loinleeai17 分钟前
【PyTorch】PyTorch中的非线性激活函数详解:原理、优缺点与实战指南
人工智能·pytorch·python·神经网络·目标检测·机器学习·计算机视觉
2401_8786247920 分钟前
opencv图片颜色识别
人工智能·opencv·计算机视觉
云布道师23 分钟前
基于PAI+专属网关+私网连接:构建全链路 Deepseek 云上私有化部署与模型调用架构
人工智能·阿里云·云计算·云布道师
OpenVINO生态社区31 分钟前
【机器人创新创业应需明确产品定位与方向指南】
人工智能·机器人
云惠科技(SEO)1 小时前
泛目录站群技术架构演进观察:2025年PHP+Java混合方案实战笔记
java·人工智能·搜索引擎
Jamence1 小时前
多模态大语言模型arxiv论文略读(二十四)
人工智能·计算机视觉·语言模型
QQ_7781329741 小时前
从文本到视频:基于扩散模型的AI生成系统全解析(附PyTorch实现)
人工智能·pytorch·python
ljd2103231242 小时前
opencv函数展示2
人工智能·opencv·计算机视觉
戈云 11062 小时前
Spark-SQL
人工智能·spark