已阅: 12
问题描述
- 程序正常启动,到开始训练的时候直接结束,没有任何日志,按照 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
的,该死,见这里。
共有 0 条评论