首页 > 解决方案 > 具有预训练权重的 Model.train() 使结果全部为 0,而 model.eval() 很好

问题描述

感谢您对此事的关注。

我想继续用预先训练的权重训练模型。当我用 评估这个预训练模型时model.eval(),一切都很好,模型会产生一些合理的结果,但是当我想进一步训练这个模型并用 设置模式时model.train(),就会出现问题。model.train()在前向循环期间,语句 ( )之后所有生成的结果都将为零batchsize = 1

关于为什么会发生这种情况的任何想法?

非常感谢。

标签: pythonpytorchbatch-normalization

解决方案


批量归一化通过根据批次的估计均值和方差对所有激活进行归一化来工作。
你期望这些值是什么时候batchsize=1

增加你的batchsize,看看是否出现问题。


推荐阅读