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

时间:2019-04-01 06:05:41

标签: deep-learning pytorch dropout

我有一个带有Dropout层的模型(p = 0.6)。我最终以.eval()模式训练模型,然后再次以.train()模式训练模型,我发现训练.eval()模式为我提供了更好的准确性和更快的训练数据减少量,< / p>

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

为什么会这样?

1 个答案:

答案 0 :(得分:-2)

这似乎是一种简单的模型架构,并且在训练模式下,无法捕获数据中的特征,因此拟合不足。

eval()在其他模块中禁用退出和批处理规范化。

这意味着该模型可以更好地训练,而不会出现辍学现象,从而可以帮助更多的神经元更好地学习模型,还可以增加图层大小,增加图层数,降低辍学概率。