原先公司的项目使用darknet进行训练,所有数据使用 Darknet标注工具 标注,生活快乐幸福。这几天yolox刷屏,想着怎么用现有的数据进行训练 ,不想重新标注了呀,还是因为懒。我们搞起来。
下面是我们的代码: https://github.com/RapidAI/YOLO2COCO
将darknet的训练数据转换为coco格式,直接用yolox加载。
## coco 数据集格式快速训练 方法 for YOLOX
1. clone yolox
```
git clone https://github.com/Megvii-BaseDetection/YOLOX
cd YOLOX
```
2. 安装 必要的库
pip install -r requirements.txt
3. 安装 YOLOX
```
python setup.py develop
```
4. 安装apex
注意,需要保证机器上安装的cuda版本和pytorch编译时的一致
```
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
```
## 数据准备
将coco 目录link到YOLOX/dataset/COCO
例如: ln -s /path/to/COCO /path/to/YOLOX/dataset/COCO
## 命令行
```
python tools/train.py -n yolox-s -d 1 -b 8 --fp16 -o yolox-m yolox-l yolox-x yolox_s
```
d 1表示一块显卡, -b 8 表示批大小,如果多块卡,这儿的8要换成 显卡数*8