MMDet正常启动但不训练

问题描述

  • 程序正常启动,到开始训练的时候直接结束,没有任何日志,按照 mmseg 和 mmcls,这里会出现训练日志。

解决方法

  • 不使用 --resume-from 来加载预训练权重。
  • 在配置文件中加载权重,即在 my_model_config.py 的 backbone 中添加 init_cfg,如下:
backbone=dict(
        type='MobileNetV2',
        init_cfg=dict(
            type="Pretrained",
            checkpoint="pretrain\yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth",
            prefix="backbone"
        )),

原因

  • --resume-from 是让模型继续在该 epoch 后继续训练的,我使用的 ssdlite 的权重,它是训练 120 epoch 后的权重文件,当我恢复断点继续训练时,它会从 121 epoch 开始,而配置文件的 max_epcoh 同样也是 120,因此直接完成了训练。

吐槽

  • 这个 mmdet 的参数没提供 --load-from,所以我就按 --resume-from 加载了,气死,一个下午没跑通怀疑自己了。
  • 我 debug 的时候还发现它有对 --load-from 处理,但是为什么不写进配置里面,可恶。
  • 之后还有一篇关于 ValueError need at least one array to concatenate 的,该死,见这里

版权声明:
作者:MWHLS
链接:https://mwhls.top/4048.html
来源:无镣之涯
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>