mmdetection训练出现nan

2022/5/12 mmdetection

# mmdetection 训练出现 nan

# 梯度裁减

在模型配置中加上grad_clip:

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

# 减小学习率

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

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

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

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

# 参考文章

mmdetection中出现 loss为 nan的情况 (opens new window)

解决模型训练loss nan的问题 (opens new window)

https://mmdetection.readthedocs.io/en/latest/changelog.html (opens new window)