配置环境
- 安装pytorch环境
- 安装mmcv
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install .(是的你没看错,这里就是有个 . )
- 安装mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
python setup.py develop
安装完成
训练自己的数据(如cascade rcnn)
- 准备数据
(1)voc个数的数据需要转为coco格式:打开mmdetection/xml2json.py,修改convert()中的文件路径,运行xml2json.py;
(2)yolo格式可能也需要转为coco格式:(https://github.com/yumingchen/CVTeamTools) - 网络参数配置:cascade_rcnn_r50_fpn_1x.py
打开mmdetection/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x.py:
_base_ = [
'../_base_/models/cascade_rcnn_r50_fpn.py',
'../_base_/datasets/coco_detection.py',
'../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
]
在这几个文件中查找需要修改的参数
(1)修改num_classes:#分类器的类别数量+1,+1是多了一个背景的类型;
(2)修改data_root:#数据集根目录
(3)修改img_scale:#输入的图像尺寸
(4)修改imgs_per_gpu:#每个gpu计算的图像数量
(5)修改workers_per_gpu:#每个gpu分配的线程数
(6)修改ann_file和img_prefix:#数据集annotation路径和数据集路径
(7)修改optimizer中的lr:#学习率,计算公式:imgs_per_gpu*0.00125
(8)修改total_epochs:#训练轮数
(9)work_dir:#log文件和模型文件存储路径
- 打开mmdetection/mmdet/datasets/coco.py:(最好是copy,然后根据自己的任务修改一份coco_custom.py文件,以及定义新的dataset类名,并在写到__init__.py)
修改CLASSES中类别:#修改成自己的类别
三、运行train.py开始训练模型:
终端运行指令:python tools/train.py configs/cascade_rcnn_r50_fpn_1x_custom.py