mmdetection训练自己的coco数据

参考链接

COCO的 全称是Common Objects in Context,是微软团队提供的一个可以用来进行图像识别的数据集。COCO通过在Flickr上搜索80个对象类别和各种场景类型来收集图像。COCO数据集现在有3种标注类型:object instances(目标实例), object keypoints(目标上的关键点), 和image captions(看图说话),使用JSON文件存储。

coco数据集按照以下的目录形式存储:

在这里插入图片描述

修改相关文件。

我的数据集类别共有两个,官方提供的代码中都使用的是coco数据集,虽然我们自定义的数据集也已经转换成coco标准格式了,但是像class_name和class_num这些参数是需要修改的,不然跑出来的模型就不会是你想要的。

定义数据种类

需要修改的地方在mmdetection/mmdet/datasets/coco.py。把CLASSES的那个tuple改为自己数据集对应的种类tuple即可。
在这里插入图片描述
注意:如果只有一个类,要加上一个逗号,否则将会报错。

修改数据集类别

在mmdetection/mmdet/core/evaluation/class_names.py修改coco_classes数据集类别,这个关系到后面test的时候结果图中显示的类别名称。例如:
在这里插入图片描述

修改模型文件

修改/mmdetection/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py中:model字典中的num_classes、data字典中的img_scale和optimizer中的lr(学习率)。 另外,workers_per_gpu=0。

num_classes=3,#类别数+1
img_scale=(640, 480),#输入图像尺寸的最大边与最小边,train val test这三处都要修改
optimizer = dict(type='SGD', lr=0.0025, momentum=0.9, weight_decay=0.0001) #当gpu数量为8时,lr=0.02;当gpu数量为4时,lr=0.01;我只要一个gpu,所以设置lr=0.0025

注意:套娃的时候修改指向的模型文件。

最后,在mmdetection的目录下新建work_dirs文件夹

(重要:若改动框架源代码后,一定要注意重新编译后再使用。类似这里修改了几个源代码文件后再使用train命令之前,先要编译

sudo python3 setup.py develop

执行上面的指令后才能使修改的mmdetection/mmdet/datasets/coco.py数据集文件生效,然后执行训练指令),实际没有重新编译,也能顺利训练。

训练

python tools/train.py configs/faster_rcnn_r50_fpn_1x_coco.py  --validate --work-dir work_dirs --resume-from epoch_1.pth

上面指令中的–validate表示是否在训练中建立checkpoint的时候对该checkpoint进行评估(evaluate)。如果使用是分布式训练,且设置了–validate,会在训练中建立checkpoint的时候对该checkpoint进行评估。(未采用分布式训练时,–validate无效,因为train_detector中调用的mmdet.apis._non_dist_train函数未对validate参数做任何处理)。

训练完之后work_dirs文件夹中会保存下训练过程中的log日志文件、每个epoch的pth文件(这个文件将会用于后面的test测试)

测试

python tools/test.py configs/faster_rcnn_r50_fpn_1x_coco.py work_dirs/epoch_12.pth --out ./result/result_12.pkl --eval bbox
  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值