mmdetection训练自己的数据集

mmdetection官方讲解

准备数据集

数据集格式一般是两种,coco和voc数据集,这里建议大家改成coco的,因为voc格式的config文件真的比较少,大部分都是coco的,而且改起来很麻烦
voc的xml文件转coco的json我已经放在这里了。

mmdetection
├── mmdet
├── tools
├── configs
├── data
│   ├── coco
│   │   ├── annotations
│   │   ├── train2017
│   │   ├── val2017
│   │   ├── test2017

coco的数据集存放位置如上所述。annotation存放json文件
mmdetection训练自己的数据集
test2017、train2017、val2017都是图片
然后建立软连接,coco_root是你的数据集地址哦

cd mmdetection
mkdir data
ln -s $COCO_ROOT data

2.修改类别

1.代码位于mmdetection/mmdet/datasets/coco.py
mmdetection训练自己的数据集
将其注释并修改为自己的数据集
2.mmdetection/mmdet/core/evaluation/class_names.py中修改类别
mmdetection训练自己的数据集
在return中修改为自己的数据集

3.修改基础信息

打开config/_base_datasets,找到coco_instance.py,里面可以修改dataroot等信息。
mmdetection训练自己的数据集

resize是你想要的图片大小,后面的keep_ratio是多尺度训练mmdetection训练自己的数据集

4.修改config文件

在跑代码前需要知道自己想跑那个模型,比如想跑faster_rcnn算法中的r50_fpn_1x找到mmdetection训练自己的数据集

修改学习率位置mmdetection训练自己的数据集
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

5.训练

单GPU训练:python ./tools/train.py ./configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
多GPU训练: ./tools/dist_train.sh configs/cascade_rcnn_r101_fpn_1x.py 4 --validate

参考

上一篇:文献学习--Coverage-Based Clause Reduction Heuristics for CDCL Solvers


下一篇:使用mmdetection训练自己的coco数据集(免费分享自制数据集文件)