mmdetection训练出现nan
梯度裁减
在模型配置中加上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
需要根据你选择的模型作出相应的修改。