YOLOX实现
1、YOLOX代码环境搭建:
1.1 下载YoloX代码并安装YOLOX
YOLOX的github链接
复制红框的链接
在linux系统中clone复制的链接:git clone https://github.com/Megvii-BaseDetection/YOLOX.git
(1)新建一个Canda环境
输入命令:conda create -n Yolox python=3.7
(2)进入Conda环境
输入命令:conda activate Yolox
,进入Conda环境中,并到下载好的YOLOX文件夹下(cd /_/YOLOX
)
(3)安装代码依赖的库文件
输入命令:pip3 install -U pip && pip3 install -r requirements.txt
(4)通过setup.py安装一些库文件
输入命令:python3 setup.py develop
(5)下载pycocotools
输入命令:pip3 install cython
再输入命令:
pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
2、Demo测试
搭建好环境后,就可以下载官方的预训练模型,对图片进行测试了。
预训练权重的下载链接,在官方代码的说明中。
以下用Yolox_s.pth文件为例
下载好yolox_s.pth后,放到YOLOX代码的文件夹下:
使用代码中自带的图片,进行Demo测试。在YOLOX文件夹的终端页面输入:
python tools/demo.py image -f exps/default/yolox_s.py -c yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]
YOLOX的代码中,会新建一个YOLOX_outputs文件夹,在其中的yolox_s/vis_res/,可以看到带有检测效果的图片。
到此Yolox的测试环境,以及测试效果都实现了,下面我们再进行Yolox的coco数据集训练。
3、YoloX的coco数据集训练
coco数据集格式:
(注意其他要和图片名字一致,json文件名字还有文件夹train2017和val2017必须叫这个名字,不然还得去源码改比较麻烦)
我的coco数据集路径: /dataset/COCO
修改到自己路径和coco数据集位置对应
找到 YOLOX/yolox/data/datasets/coco.py
原:
改为:
开始训练:
在终端输入:python tools/train.py -f exps/default/yolox_l.py -n yolox-l -b 8