mmdetection训练出现nan

Ghlerrix2022/05/12mmdetectionmmdetection

梯度裁减

在模型配置中加上grad_clip:

optimizer_config = dict(_delete_=True, grad_clip=dict(max_norm=35, norm_type=2))

减小学习率

如果添加了梯度裁剪依旧出现梯度爆炸的问题。那么可以考虑降低学习率,大约降低为原来的0.1即可。

mmdetection 从 2.24.0 开始可以自动根据 batch_size 调节学习率,在模型配置中加上:

auto_scale_lr = dict(enable=True, base_batch_size=64)

其中 base_batch_size 需要根据你选择的模型作出相应的修改。

参考文章

mmdetection中出现 loss为 nan的情况open in new window

解决模型训练loss nan的问题open in new window

https://mmdetection.readthedocs.io/en/latest/changelog.htmlopen in new window

最后更新时间 11/21/2024, 2:02:30 PM