Windows下YOLOX的配置
作者:肆十二
本次博客电脑基本配置情况:
系统-windows10 显卡-RTX2070s CPU-I7 9700k
YOLOX是是旷视科技在2021年提出的Anchor Free的目标检测框架,YOLOX-l模型在coco的测试集上可以达到51.5的mAP值,相对于YOLOV5有1.8个点的提高,并且YOLOX是一个Anchor free的框架,相对来说没有太多需要调试的超参数,在原始的预训练模型上做一下微调就可以在自己的数据集上达到不错的效果,算法的细节部分还请大家参考作者的论文:YOLOX: Exceeding YOLO Series in 2021,另外,论文的作者在知乎上亲自对论文做了解读,感兴趣的小伙伴也可以去看看:如何评价旷视开源的YOLOX,效果超过YOLOv5? - 知乎 (zhihu.com)
好!我们今天就来一起看看如何在windows下配置YOLOX,YOLOX的实现有两个版本,一个是Pytorch版本的,一个是MegEngine版本的,megengine是旷视自研的深度学习框架,使用的人相对较少,我们今天主要来看看Pytorch版本代码的配置。
前期的准备工作
下载代码之前,请大家先安装好anaconda、pycharm以及安装好显卡驱动,因为之前的博客中我详细介绍了这两个安装步骤,并且还录制了专门的视频,不清楚的小伙伴可以先看这两篇博客补充一下自己的基础知识。
如何在pycharm中配置anaconda的虚拟环境_dejahu的博客-CSDN博客_如何在pycharm中配置anaconda
2021年Windows下安装GPU版本的Tensorflow和Pytorch_dejahu的博客-CSDN博客
配置环境
-
建立虚拟环境
在cmd中执行下面的指令建立一个python版本为3.7.3,名字为yolox_torch的虚拟环境
conda create -n yolox_torch python==3.7.3
等待依赖安装完成之后会出现下面的信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdeUtDbh-1633072567557)(C:\Users\Scm97\AppData\Roaming\Typora\typora-user-images\image-20210920151021620.png)]
激活这个虚拟环境,激活之后前面的括号表示你当前所处的虚拟环境
-
安装pytorch
为了方便后期训练使用,我们这里安装的是GPU版本的Pytorch,Pytorch的版本为1.8.0,torchvision的版本为0.9.0
conda install pytorch==1.8.0 torchvision==0.9.1
安装完成之后,大家请安装下图所示的步骤查看自己pytorch的GPU是否可用,如果最后输出的为True,表示GPU可用。
-
下载代码并安装
首先需要从官网下载代码,请执行下面的指令或者是直接下载压缩包
git clone git@github.com:MegEngine/YOLOX.git # 网络好的用这个 git clone https://gitee.com/mirrors/YOLOX.git
执行下面的指令安装yolox(注:因为我们提前安装了torch和torchvision,请大家注释掉requirements.txt3和8行)
cd YOLOX pip install -r requirements.txt pip3 install -v -e . # or python3 setup.py develop
出现下面的信息表示安装成功
安装Pycocotools,这个工具将会帮助你加载coco格式的数据集进行训练和测试
pip install cython pip install pycocotools-windows
-
下载官方提供的模型
官方的文件中提供了预训练的模型,也就是在coco数据集上训练好的模型,可以检测大概80类,已经足够大家使用了
这里一共提供了5个模型,YOLOX-s是参数量比较小的版本,我们下载这个版本的模型就足够了,点击下面的按钮下载。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uO6bcBO6-1633072567574)(C:\Users\Scm97\AppData\Roaming\Typora\typora-user-images\image-20210920153342332.png)]
我们在代码根目录下新建一个pretrained目录,把下载好的模型放在这个目录下即可,如下所示:
一起看看效果吧
下面我们将会对目标检测中非常经典的车狗图进行检测
python tools/demo.py image -n yolox-s -c pretrained/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
执行的具体过程如下:
然后我们在上面保存的目录打开图片看看吧!
连垃圾桶都检测出来了,是不是非常不戳!
另外,如果是自己写的配置文件,请执行下面的指令
python tools/demo.py image -f exps/default/yolox_s.py -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]
如果检测视频的话,请执行这样的指令
python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]
python tools/demo.py video -n yolox-s -c pretrained/yolox_s.pth --path assets/test.mp4 --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu