SunnyHaze / IML-ViT

Official repository of paper “IML-ViT: Benchmarking Image manipulation localization by Vision Transformer”
MIT License
184 stars 23 forks source link

About the easy occurrence of "loss=nan" during the training phase #23

Closed linohzz closed 1 month ago

linohzz commented 1 month ago

作者您好: 我发现此项目在改变某些部分网络结构,或使用大Bathsize时。在训练阶段的中间Epoch容易出现loss=nan的问题。请问作者遇到过此类问题吗,有什么比较好的建议吗?非常感谢。

SunnyHaze commented 1 month ago

您好感谢你对我们任务的关注!可以参考readme靠后部分关于使用instance norm的部分尝试解决。 以及带真图会增加nan的概率,去掉真图可以减轻nan。 此外,也可以注释掉amp(自动半精度)的部分尝试解决,但是会让训练速度变慢。

linohzz commented 1 month ago

感谢您的建议。

linohzz commented 1 month ago

抱歉作者又来打扰您了,目前使用IN归一化方法仅能够在一小部分程度上缓解LOSS=nan的问题 ,目前我正尝试使用取消amp进行处理。尚不知引发loss=nan,且F1=0的真正问题出在哪里?

SunnyHaze commented 1 month ago

如果训练图片普遍较小,可以考虑提高边界损失函数的λ的权重。如果还不好解决,可能需要针对数据集的特点专门设计模型,这个就还得你自己探索了。

linohzz commented 1 month ago

如果训练图片普遍较小,可以考虑提高边界损失函数的λ的权重。如果还不好解决,可能需要针对数据集的特点专门设计模型,这个就还得你自己探索了。

非常感谢,在注释掉amp的代码后,能够有效改善loss问题。

SunnyHaze commented 1 month ago

OK,那就好!