mmdetection训练自己的maskrcnn记录

1. 训练语句 python tools/train.py config

2.训练后的模型在work_dir中,我选取了其中一个epoch.pth文件,这个pth和一般的pth文件不同,他需要用torch.load导入,

3.模型导入后以dict形式访问一些变量,model =torch.load('**/epoch_6.pth')后,model中有以下keys:dict_keys(['meta', 'state_dict', 'message_hub', 'optimizer', 'param_schedulers'])

其中meta代表了一些训练信息 比如dict_keys(['epoch', 'iter', 'cfg', 'seed', 'experiment_name', 'time', 'mmengine_version', 'dataset_meta'])

而state_dict代表的可能是状态信息,其他的大家可以根据需求查看。

4.通过from mmdet.apis import nference_detector 即inference_detector函数来推理训练好的模型

5.文件架构如下 之前犯了一个很蠢得错误 把ground_truth作为train2017和val2017的内容了,但实际tran和val2017里应该是原图

mmdetection训练自己的maskrcnn记录_第1张图片

6.maskrcnn已经很老了,现在一些分割任务最好用大模型,比如detic。亲测 maskrcnn分割结果很烂,但detic预训练模型都比训练过的maskrcnn效果好

7.数据集制作可以看这个博客将彩色RGB分割标注图像数据集转换为COCO格式的json文件_Liu, Xu的博客-CSDN博客

我用这个博客的代码完成了annotation的制作,生成了每张图片中每个实例的mask

8.做好coco格式数据集  mmdetection 直接train就行 ,   yyds

 

你可能感兴趣的:(笔记,深度学习,计算机视觉,人工智能)