DAMO-YOLO第三方数据训练教程

DAMO-YOLO是阿里巴巴达摩院最近新推出的轻量级目标检测框架。作为第一批使用的同学,这里对如何使用DAMO-YOLO进行第三方数据训练和finetune做一个简单的介绍。

一、下载安装DAMO-YOLO

按照官网提供的教程,逐步执行即可。这里由于我们使用的Linux服务器,因此cocoapi选择了Linux版本的命令。

git clone https://github.com/tinyvision/damo-yolo.git
cd DAMO-YOLO/
conda create -n DAMO-YOLO python=3.7 -y
conda activate DAMO-YOLO
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.2 -c pytorch
pip install -r requirements.txt
export PYTHONPATH=$PWD:$PYTHONPATH

pip install cython;
pip install git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI # for Linux

二、准备训练数据

这里我使用的是私有数据,按照官网教程提示(DAMO-YOLO/CustomDatasetTutorial.md at master · tinyvision/DAMO-YOLO · GitHub),将标注文件转成coco格式后存在了目录/home/cwhgn/datasets/boxy/annotations/下面,名字分别为boxy_coco_train.json,boxy_coco_valid.json和boxy_coco_test.json。对应图片都放在了/home/cwhgn/datasets/boxy/data下面。

三、将训练数据关联到DAMO-YOLO

利用下面命令,将准备好的数据关联到damo-yolo里。

ln -s /home/cwhgn/datasets/boxy datasets/boxy

打开damo/config/paths_catalog.py文件,将coco_2017_train/coco_2017_val/coco_2017_test_dev替换成我们自己数据的路径,如下图所示:

DAMO-YOLO第三方数据训练教程_第1张图片

四、修改训练配置文件

准备好数据后,我们就可以根据需要修改训练配置文件了。如果是finetune的话,需要额外下载DAMO-YOLO官网提供的训练好的模型。这里我们准备使用DAMO-YOLO-S*作为初始化模型进行finetune。直接将下载好的damoyolo_tinynasL25_S.pth存在了DAMO-YOLO目录下面。

打开DAMO-YOLO-S训练配置文件configs/damoyolo_tinynasL25_S.py。一方面,将初始化模型加入到配置文件中。另一方面,将检测的类别数修改成我们训练数据一直。我的数据只有一类,因此改成了1。如下图所示:

DAMO-YOLO第三方数据训练教程_第2张图片

五、进行训练

至此,我们就可以用以下命令愉快的跑起来我们的训练啦,训练截图如下图所示。

python -m torch.distributed.launch --nproc_per_node=8 tools/train.py -f configs/damoyolo_tinynasL25_S.py

你可能感兴趣的:(深度学习,人工智能,目标检测,python)