Windows平台下,YOLOX目标检测环境部署教程

1、克隆YOLOX源码

可转到gitee仓库再克隆到本地

2、安装requirements依赖文件

注释requirements.txt文件中的torch>=1.7,使用#号注释

然后安装依赖库

根据显卡型号和python版本,选择对应版本的cuda和cudnn

并通过whl文件手动安装GPU或CPU版本的pytorch

3、克隆cocotools仓库(coco数据集评估工具库)

可将cocoapi仓库转到gitee,再运行上述命令

4、安装visual studio 2019

选择c++开发安装即可

5、进入YOLOX目录,安装库文件

6、安装apex(混合精度加速训练库)

7、下载YOLOX权重文件

在YOLOX下创建weights文件夹,并下载权重文件放到YOLOX/weights

(1)yolox_nano下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_nano.pth

(2)yolox_tiny下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_tiny.pth
(3)yolox_s下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth
(4)yolox_m下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_m.pth
(5)yolox_l下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_l.pth
(6)yolox_x下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_x.pth
(7)yolox_darknet53下载链接:

https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_darknet.pth

8、演示模型

使用官方coco数据类别测试yolox的默认权重网络
打开yolox/exp/yolox_base.py,确保__init__函数下的self.num_classes=80
打开yolox/data/datasets/init.py,确保from .coco_classes import COCO_CLASSES正常

以YOLOX-Nano模型测试为例,测试结果在YOLOX_outputs/yolox_nano/vis_res文件夹下

【注意】:若出现 No module named ‘yolox’ 错误时,在tools/demo.py文件的from yolox.data.data_augment import ValTransform前加上

其中,r’xxx/YOLOX’为自己YOLOX项目的绝对路径

9、训练yolox

VOC数据集目录如下:
-VOCdevkit
| -VOC2007
| | -Annotation
| | | -xxx.xml
| | | -……

| | -ImageSets
| | | -Main
| | -JPEGImages
| | | -xxx.jpg
| | | -……

若数据集没有xml文件,使用labelimg标注工具箱

在datasets/VOCdevkit/VOC2007/Annotation目录下生成xxx.xml标注文件

运行在datasets/voc_annotation.py,划分数据集比例

在datasets/VOCdevkit/VOC2007/ImageSets/Main目录下生成trainval.txt、train.txt、val.txt、test.txt文件,如下:

运行datasets/voc2yolo.py,将voc格式数据集标签转换为yolo格式标签,
在datasets/VOCdevkit/VOC2007目录下生成labels文件夹
在datasets/VOCdevkit/VOC2007/data目录下生成train.txt、val.txt、test.txt文件,如下:

运行datasets/get_classes.py,统计数据集类别名称,目标数目

在datasets/VOCdevkit/VOC2007/data目录下生成classes.txt文件,如下:

打开yolox/data/datasets,复制voc_classes.py,修改复制后的文件名为my_voc_classes.py
根据datasets/VOCdevkit/VOC2007/data/classes.txt文件
打开yolox/data/datasets/my_voc_classes.py,修改自己数据集类别名称,如:

VOC_CLASSES = (“vehicle”,)

打开yolox/data/datasets,复制coco_classes.py,修改复制后的文件名为my_coco_classes.py
打开yolox/data/datasets/my_coco_classes.py,修改自己数据集类别名称,如:COCO_CLASSES = (“vehicle”,)

打开yolox/data/datasets/init.py,将from .coco_classes import COCO_CLASSES替换为:
from .my_coco_classes import COCO_CLASSES

打开yolox/data/datasets/voc.py,将from .voc_classes import VOC_CLASSES替换为:
from .my_voc_classes import VOC_CLASSES

进入exps/example/yolox_voc目录

复制yolox_voc_s.py,并修改复制后的文件名为yolox_voc_nano.py

打开exps/example/yolox_voc/yolox_voc_nano.py

修改__init__函数下的self.num_classes为自己的类别数量

打开yolox/exp/yolox_base.py

修改__init__函数下的self.num_classes为自己的类别数量

打开exps/example/yolox_voc/yolox_voc_nano.py,修改self.depth,self.width,参考YOLOX/exps/default下的模型文件

打开exps/example/yolox_voc/yolox_voc_nano.py,修改get_data_loader,image_sets=[(‘2007’, ‘train’)]

此处修改存疑,一些教程中修改为trainval,但本文作者认为应该修改为train

打开exps/example/yolox_voc/yolox_voc_nano.py,修改get_eval_loader,image_sets=[(‘2007’, ‘val’)]

此处修改存疑,一些教程中不修改,维持test,但本文作者认为训练时应修改为val,训练结束后测试时修改为test

打开yolox/exp/yolox_base.py,修改__init__函数下的self.data_num_workers为合适的大小

打开yolox/exp/yolox_base.py,修改__init__函数下的self.max_epoch

【注意】若训练出错,Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

在tools/train.py文件前加上下列两条语句

测试map和fps指标(修改exps/example/yolox_voc/yolox_voc_nano.py中的get_eval_loader函数下为image_sets=[(‘2007’, ‘test’)],)

【注意】:重新划分数据集后,务必先删除datasets/VOCdevkit下的annotations_cache、results文件夹后再训练

Original: https://blog.csdn.net/lishan132/article/details/125294380
Author: 乐观的lishan
Title: Windows平台下,YOLOX目标检测环境部署教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/681490/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球