Detectron2恢复Faster R CNN训练时lr显示N/A问题咨询
根因分析
- 你首次训练的配置中
SOLVER.MAX_ITER设置为16000,训练跑完16000次迭代后,Detectron2内置的学习率调度器已经完成全部预设调度步骤,标记训练任务已结束。 - 恢复训练时你没有修改配置中的
MAX_ITER参数,调度器从 checkpoint 加载后识别到当前迭代数(16000)已经等于预设的最大迭代数,训练循环会直接终止,不会执行实际的训练迭代步骤,因此日志输出lr: N/A。 - 从你提供的日志也可以佐证:打印
Starting training from iteration 16000后立刻输出总训练时长为0,直接跳转至测试集加载、推理流程,说明没有执行任何训练迭代,自然没有有效学习率数值。
修复方案
如果需要继续训练,在调用恢复训练接口前,修改配置中的SOLVER.MAX_ITER为更大的数值即可,比如需要额外训练4000轮就设置为20000。如果要调整后续训练的学习率,也可以同步修改SOLVER.BASE_LR、SOLVER.STEPS等参数。
内容的提问来源于stack exchange,提问作者Meet Gondaliya
相关产品推荐
相关产品推荐

