[英]Pytorch model outputting labels it was not trained on
我有一个更快的 R CNN 检测器,我在一个相当嘈杂但很大的数据集上使用 pytorch 闪电进行了训练。 我希望在 1 个 epoch 的训练之后,model 在数据集中只会有 output 标签,在我的例子中是 0 到 56。但是,它给了我诸如 64 和 89 之类的标签。这是怎么回事? 它在哪里提出这些从未接受过培训的标签?
无法共享任何代码,因为此问题可能与我的数据集有关,而不是我的代码。 使用 COCO 预训练的 model,它工作正常。
问题不是我的数据或我的 model。 问题是 pytorch nn.module load_state_dict() 方法。 此方法有一个参数strict
应该允许用户在没有完全相同权重键的情况下加载 state_dict,但它实际上导致加载的 model 完全错误。 我强烈建议不要在 pytorch 中使用 load_state_dict() 加载 model 时使用 strict=False。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.