mmdetection训练自己的COCO数据集
Posted 啊~小 l i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mmdetection训练自己的COCO数据集相关的知识,希望对你有一定的参考价值。
训练前的准备
- 训练数据的导入
将自己的COCO数据集放入到下载的mmdetection的源码里,(如果没有data文件夹需要新建)data -> COCO -> 你的COCO数据集
文件格式如下:
mmdetection
├── mmdet
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── annotations
│ │ ├── train2017
│ │ ├── val2017
- 配置的修改
configs/_base_/datasets
- coco_detection.py
- coco_instace.py
- coco_instace_semantic.py
修改里面的img_scale=(,):输入图片的最大长度和最小长度(GPU显存不够可以适量改动,上述的三个.py文件都要改)
configs/_base_/models
选择你需要的模型对应的配置文件进行修改
修改的内容为:numclasses=**
,修改为你自己训练时候的数据集的种类的个数(分类的个数)。- 修改自己的COCO数据集的类别
mmdet/evaluation/classnames.py
def coco_classes():
替换为自己的数据分类ID
mmdet/datasets/coco.py
class CoCoDataset(CustomDataset):
替换为自己数据分类ID
准备训练
- 进入
tools/train.py
进行训练
使用语句运行代码python tools/train.py configs/mask_rcnn/你训练前的准备的第2步修改的配置文件 --gpus 1 --work-dir demo1_test
- 一旦开始立即停止训练
进入刚刚设置的工作空间进入新生成的配置文件,与你上一步使用的配置文件的名称一致
找到log_config=dict(interval=50,hooks=....)
interval=50:含义为每50此输出一次日志,不便于分析模型的训练情况,建议改小一些 - 进行训练此时使用自己的配置文件
使用语句运行代码python tools/train.py configs/mask_rcnn/你准备训练的第2步修改的配置文件 --gpus 1 --work-dir demo1_test
tools/analyze_logs.py
运行代码可以将日志转化为折线图
python tools/analuze_logs.py 日志的路径 --key loss_cls loss_bbox loss_mask
还可以加上--out
的配置,输出为jpg或者pdf
测试模型
tools/test.py
执行语句python tools/test.py 你的配置文件 指定模型的配置文件 --show
此时展示出来的是ID而不是名字
展示出名字的修改
- 找到
base.py
- 找到
show = Flase
在下面插入
# id对应的名字
real_names = ['data1', 'data2',.......]
- 找到
class_names=self.CLASSES,
修改为class_name=real_names,
以上是关于mmdetection训练自己的COCO数据集的主要内容,如果未能解决你的问题,请参考以下文章
一步一步教你在 docker 容器下使用 mmdetection 训练自己的数据集
自动驾驶感知算法实战5——MMdetection3d环境搭建使用MMdetection3d做3D目标检测训练自己的数据集测试可视化,以及常见的错误
自动驾驶感知算法实战5——MMdetection3d环境搭建使用MMdetection3d做3D目标检测训练自己的数据集测试可视化,以及常见的错误