1. 环境配置
需要注意,如果之前安装过mmrotate,那么这个mmyolo请单独创建一个虚拟环境,因为mmyolo和mmrotate的最新版本不兼容。
1.创建环境
conda create -n mmyolo python==3.8
2.安装依赖
# 进入mmyolo环境中
conda activate mmyolo
# 安装依赖
pip install -U openmim
mim install "mmengine>=0.6.0"
mim install "mmcv>=2.0.0rc4,<2.1.0"
mim install "mmdet>=3.0.0,<4.0.0"
3.安装mmyolo
git clone https://github.com/open-mmlab/mmyolo.git
cd mmyolo
# Install albumentations
mim install -r requirements/albu.txt
# Install MMYOLO
mim install -v -e .
# "-v" 指详细说明,或更多的输出
# "-e" 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效,从而无需重新安装。
4.安装mmrotate
因为需要训练DOTA数据集做旋转目标检测,所以需要安装mmrotate:
pip install mmrotate==1.0.0rc1 .
建议安装1.x版本,否则会报错,具体请参考《KeyError: ‘mmrotate.RotLocalVisualizer is not in the visualizer registry.》
2. 数据集准备
- 划分好的DOTA1.0数据集下载,文件名是split_ss_dota:
百度网盘一会上传…
- 然后将split_ss_data文件夹,放到 mmyolo/data/ 文件夹下面,当然也可以放到其他地方。
split_ss_data文件夹目录结构为:
- 如果想自己处理数据集,可以参考官方教程:Data Preparation for Rotation Detection
3. 模型训练
-
下载配置文件:去官网查看你需要训练的RTM模型,并且下载配置文件,注意这里应该找旋转目标检测
向右拖动滑条,下载config文件
然后将config文件,放到mmyolo/configs/rtmdet/rotated文件夹下,当然本来也有【手动狗头】:
-
修改配置文件
以 rtmdet-r_l syncbn_fast_2xb4-36e_dota.py 为例,修改数据集路径,这里最好是填绝对路径,其他的不用改。
-
开始训练
进入到mmyolo文件夹,使用以下命令训练
python tools/train.py [config配置文件的绝对路径]
以 rtmdet-r_l syncbn_fast_2xb4-36e_dota.py 为例,训练命令为:
python tools/train.py /home/huzhou/Myprojects/mmyolo/configs/rtndet/rotated/rtmdet-r_l syncbn_fast_2xb4-36e_dota.py
训练过程截图:
参考链接
https://mmyolo.readthedocs.io/zh_CN/latest/get_started/installation.html
https://github.com/open-mmlab/mmyolo/tree/main