You need to enable JavaScript to run this app. MMDetection运行train_detector后如何保存微调模型权重及后续测试
优惠活动
大模型
产品
解决方案
定价
更多

MMDetection运行train_detector后如何保存微调模型权重及后续测试

MMDetection自定义微调模型checkpoint相关问题解答

1. 微调后模型的默认存储路径

你代码中通过cfg.work_dir = "../vinbig"指定了工作目录,训练过程中自动生成的checkpoint默认就保存在这个路径下。
结合你设置的cfg.checkpoint_config.interval = 3,训练时每3个epoch就会自动保存一次权重,文件命名规则为epoch_{epoch数}.pth,你设置了总epoch为6,训练完成后该目录下会生成epoch_3.pth、epoch_6.pth两个自动保存的权重文件,如果开启了最优权重保存,还会生成以评估指标命名的best_bbox_mAP_*.pth最优权重文件。

注意:Google Colab的临时磁盘在实例关机后会清空,如果你需要长期保留权重,需要手动将文件转存到挂载的谷歌云盘或者下载到本地。

2. 手动导出当前内存中模型的方法

如果训练完成后你还在当前会话环境中,想要手动导出内存里的模型权重做备份,可以直接调用MMCV的序列化工具:

import mmcv
# 自定义路径保存当前模型权重
mmcv.dump(model.state_dict(), "../vinbig/finetuned_vfnet_custom.pth")

3. 加载保存的checkpoint进行后续推理的方法

无需重复训练,直接调用MMDetection的init_detector接口加载你保存的权重即可完成推理,示例代码如下:

from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import mmcv

# 替换为你自己的配置文件路径和权重文件路径
config_path = "你的训练所用配置文件路径,例如vfnet_r50_fpn_mdconv_c3-c5_mstrain_2x_coco.py"
checkpoint_path = "../vinbig/epoch_6.pth"

# 初始化模型,用CPU推理就把device改成'cpu'
model = init_detector(config_path, checkpoint_path, device="cuda:0")

# 后续推理逻辑和你之前的写法完全一致
img = mmcv.imread('kitti_tiny/training/image_2/000068.jpeg')
result = inference_detector(model, img)
show_result_pyplot(model, img, result)

内容的提问来源于stack exchange,提问作者Krishna Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 20:54:03