-1

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

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

为什么会这样?

4

1 回答 1

-2

这看起来模型架构很简单,在训练模式下,无法捕获数据中的特征,因此会出现欠拟合。

eval()在其他模块中禁用 dropouts 和 Batch normalization。

这意味着模型在没有 dropout 的情况下训练得更好,这有助于模型通过更多的神经元更好地学习,同时增加层大小、增加层数、降低 dropout 概率,也有帮助。

于 2019-04-01T06:32:35.413 回答