eval()模式下的训练模型在PyTorch中得到了更好的结果?

问题描述 投票:-1回答:1

我有一个带Dropout图层的模型(p = 0.6)。我最终以.eval()模式训练模型并再次以.train()模式训练模型,我发现训练.eval()模式给了我更好的准确性和更快的减少训练数据,

train():火车损失:0.832,验证损失:0.821 eval():火车损失:0.323,验证损失:0.251

为什么会这样?

deep-learning pytorch dropout
1个回答
-2
投票

这似乎模型架构很简单,并且在列车模式下,不能捕获数据中的特征,因此经历欠拟合。

eval()禁用丢失和批量标准化,以及其他模块。

这意味着模型可以更好地训练而不会辍学,从而帮助模型更好地学习更多神经元,同时增加层大小,增加层数,降低辍学概率,有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.