为什么加载 Pytorch 模型的损失会大大增加?
Why loaded Pytorch model's loss highly increased?
我正在尝试参考 to 训练 Arcface。
据我所知,Arcface 需要在 CASIA-webface 上训练 200 多个 epoch,并且批处理量很大。
在训练的100个epochs内,我停止了一段时间的训练,因为我需要使用GPU做其他任务。并保存模型(Resnet)和边缘的检查点。停用前,其loss值在0.3~1.0之间,训练准确率提升至80~95%。
当我通过使用 load_sate 加载检查点文件恢复 Arcface 训练时,第一批处理似乎正常。但是突然loss猛增,准确率变得很低
它的损失突然变大了。这怎么发生的?我别无选择,所以无论如何继续训练,但我认为损失并没有很好地减少,即使它是一个超过 100 个时期的训练模型......
我搜索类似的问题,他们说问题是优化器没有保存(因为参考github页面没有保存优化器,我也是,是真的吗?
My losses after loading
如果你看到这个line!
您正在通过伽玛衰减每个参数组的学习率。
当您达到第 100 个纪元时,这改变了您的学习率。此外,您在保存模型时没有保存优化器状态。
这使您的代码在恢复训练后从起始 lr 即 0.1 开始。
这又增加了你的损失。
如果觉得有用请投票
我正在尝试参考 to 训练 Arcface。
据我所知,Arcface 需要在 CASIA-webface 上训练 200 多个 epoch,并且批处理量很大。
在训练的100个epochs内,我停止了一段时间的训练,因为我需要使用GPU做其他任务。并保存模型(Resnet)和边缘的检查点。停用前,其loss值在0.3~1.0之间,训练准确率提升至80~95%。
当我通过使用 load_sate 加载检查点文件恢复 Arcface 训练时,第一批处理似乎正常。但是突然loss猛增,准确率变得很低
它的损失突然变大了。这怎么发生的?我别无选择,所以无论如何继续训练,但我认为损失并没有很好地减少,即使它是一个超过 100 个时期的训练模型......
我搜索类似的问题,他们说问题是优化器没有保存(因为参考github页面没有保存优化器,我也是,是真的吗?
My losses after loading
如果你看到这个line!
您正在通过伽玛衰减每个参数组的学习率。
当您达到第 100 个纪元时,这改变了您的学习率。此外,您在保存模型时没有保存优化器状态。
这使您的代码在恢复训练后从起始 lr 即 0.1 开始。
这又增加了你的损失。
如果觉得有用请投票