参考
MMDetection 目标检测 —— 环境搭建和基础使用-CSDN博客
利用labelme制作自己的coco数据集(labelme转coco数据集)-CSDN博客
1.下载mmdetection
克隆mmdetection到本地
git clone https://github.com/open-mmlab/mmdetection.git
如果git clone下载的速度太慢,可以使用github的镜像进行下载,如下:
git clone https://github.com.cnpmjs.org/open-mmlab/mmdetection.git
或者直接下载zip,然后再解压。
2.把自制的coco数据集放在mmdetection目录
3. 以rtmdet模型进行训练
3.1选择rtmdet tiny_8xb32-300e_coco.py
复制rtmdet tiny_8xb32-300e_coco.py所在的绝对路径(相对路径容易出错)后,打开tools/train.py,把rtmdet tiny_8xb32-300e_coco.py的绝对路径添加到脚本形参中。
训练代码:
python ./tools/train.py ./configs/rtmdet/rtmdet_tiny_8xb32-300e_coco.py
3.2运行train.py
此时会在tools文件夹下生成work_dirs文件夹,work_dirs中有rtmdet_tiny_8xb32-300e_coco.py把work_dirs下的rtmdet_tiny_8xb32-300e_coco.py复制到configs/rtmdet文件夹下并重命名为my_rtmdet_tiny_8xb32-300e_coco.py,并下载rtmdet_tiny_8xb32-300e_coco.py对应的权重文件rtmdet_tiny 8xb32-300e coco 20220902 112414-78e30dcc.pth(README中有对应的下载文件链接)
等价于直接运行以下命令(下载配置文件和模型权重文件):
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .
3.3 修改my_rtmdet tiny_8xb32-300e_coco.py配置文件
由于我的coco数据集只有cat和dog两个类别标签,所以修改num_classes=2
修改所有的data_root的路径,修改为绝对路径
修改所有的ann_file的路径,修改为绝对路径
3.4 修改mmdet/functinal/class_names.py
把原有的类别名称改为coco数据集中的类别名称
3.5修改mmdet/datasets/coco.py
把原有的类别名称改为coco数据集中的类别名称
3.6运行train.py
把my_rtmdet tiny_8xb32-300e_coco.py的绝对路径添加到train.py的脚本形参中并运行。
运行结束后会在tools/work_dirs文件目录下生成 rtmdet tiny_8xb32-300e_coco文件目录
3.7运行demo/image_demo.py
把以下内容添加到image_demo.py的脚本参数,再运行image_demo.py
/Users/WYX/Desktop/code/mmdetection-main/data/coco/test2017
/Users/WYX/Desktop/code/mmdetection-main/configs/rtmdet/my_rtmdet_tiny_8xb32-300e_coco.py
--weights
/Users/WYX/Desktop/code/mmdetection-main/tools/work_dirs/rtmdet_tiny_8xb32-300e_coco/epoch_300.pth
--show
--device
cpu
等价于直接运行以下命令进行验证:
python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu
运行结束后,会出现测试的结果图片。
4.可视化控制台打印输出的信息
4.1wandb
参考 Weights & Biases: The AI Developer Platform
4.2tensorboard
参考 https://www.tensorflow.org/tensorboard?hl=zh-cn
4.3直接命令行
#可视化
#python tools/analysis_tools/analyze_logs.py plot_curve tools/work_dirs/rtmdet_tiny_8xb32-300e_coco/20240625_145648/vis_data/20240625_145648.json --keys loss_cls loss_bbox