windows10搭建YOLOx环境 训练+测试+评估


前言

YOLOX踩坑记录,基于VOC数据集,本文将详细介绍训练+测试+模型评估的过程和个人遇到的所有报错


1、必要环境

Windows10+python3.7+CUDA10.1+CUDNN7.6.5

2、安装

2.1 创建python3.7虚拟环境

  1. conda create -n yolo_x python=3.7
  2. activate yolo_x
    在这里插入图片描述

2.2 下载pytorch (pytorch版本>=1.7)

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1 -c pytorch

测试是否安装成功

  1. python
  2. import torch
  3. print(torch.cuda.is_available())
    在这里插入图片描述
    出现如上界面则证明安装成功

2.3 配置YOLOx环境

  1. 进入github官网下载源码:yolox源码地址
  2. 安装依赖包:pip install -r requirements.txt
  3. 安装yolox: python setup.py install
  4. 到官网下载apex,解压到项目文件夹内 地址:apex源码
  5. cd到apex文件夹内 cd apex-maste
  6. 安装apex python setup.py install
  7. 安装pycocotools pip install pycocotools
  8. 下载预训练模型 地址:模型地址
    在这里插入图片描述

2.4 测试效果

1 测试图片

python tools/demo.py image -f exps/default/yolox_s.py -c ./yolox_s.pth.tar --path assets/dog.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

效果:
在这里插入图片描述
2 测试视频

python tools/demo.py video -f exps/default/yolox_s.py -c ./yolox_s.pth.tar --path ./cut2.mkv --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

效果:
在这里插入图片描述

注意:图片和视频路径要放在当前文件夹下!!!!

3、训练自己的VOC数据集

voc数据集的制作参考我前面的博客 地址:windows10搭建PaddleDetection2.0

1 将VOCdevkit目录拷贝到datasets/VOC目录下:

ln -s D:/data/firesmoke/VOCdevkit/VOC2007/11  ./datasets/VOC

D:/data/firesmoke/VOCdevkit/VOC2007/11是VOCdevkit文件所在的路径
在这里插入图片描述
./datasets/VOC是要复制到的路径
在这里插入图片描述
2 修改 yolox/data/dataloading.py 如下:
在这里插入图片描述
在YOLO-main路径下执行python setup.py install 更新yolox

3 修改exps/example/yolox_voc/yolox_voc_s.py如下:
在这里插入图片描述
如下修改num_classes改为自己的类别数量
在这里插入图片描述

4 修改yolox/data/datasets/voc_classes.py为自己的类别
在这里插入图片描述
执行python setup.py install 更新yolox

5 修改yolox/evaluators/voc_eval.py 如下
在这里插入图片描述
在18行filename前加上Annotations文件夹的路径
执行python setup.py install 更新yolox

6 运行如下代码开始训练

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 --fp16 -o -c yolox_s.pth.tar
-d 使用显卡个数
-b 批次大小
–fp16 是否开启半精度训练
-c 加载预训练模型

如果出现CUDA out of memory内存溢出,将–fp16 -o去掉,代码改为如下

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c yolox_s.pth.tar

效果如下
在这里插入图片描述

7 继续上一批次恢复训练的话,改成如下形式
在这里插入图片描述
将—resume改为True,-c后面跟接要继续训练的权重文件
代码如下:

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar

4、测试

1 测试前修改demo.py如下
在这里插入图片描述
2 修改demo.py 85行左右的cls_name为VOC_CLASSES,还有265行左右的第三个参数
在这里插入图片描述
在这里插入图片描述
3 测试

python tools/demo.py video -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar --path ./bb2.mp4 --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

测试效果
在这里插入图片描述

5、模型评估:

1 输入如下代码进行模型评估

python tools/eval.py -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar -d 1 -b 4 --conf 0.001 --fp16 --fuse
--fuse 融合Conv层与BN层(减少运算量,加速推理的一个东西)

效果:(只训练了一批次map怪低的)
在这里插入图片描述

6、根据README.md流程走可能会出现的报错

6.1 编码报错 UnicodeDecodeError:gbk xxxxx

解决方案:
在这里插入图片描述
修改50行 加上encoding=”utf-8”

6.2 根据readme文档安装apex时报错 Removed build tracker:xxxxxxx

在这里插入图片描述
解决方案:
在这里插入图片描述
将以上代码修改成如下,记得一定要cd到apex-master文件夹内执行

python setup.py install

6.3 doesn’t contains class named ‘Exp’

解决方案:

  1. 拿yolox_s举例:
    将 -n yolox-s 改为 -f exps/default/yolox_s.py

  2. 如果是在pycharm里面运行代码,将相对路径改为绝对路径,如下所示:
    在这里插入图片描述

6.4 File ended prematurely 文件过早结束

这该死的报错耗了我大半个小时
解决方案:


在这里插入图片描述
改为
在这里插入图片描述
将–path 视频绝对路径改为相对路径!!!!!!!!!!!

6.5 测试时目标框显示的类别不对

解决方案:
参考 4、测试 的1,2步 运行python setup.py install更新yolox
在这里插入图片描述

6.6 测试COCO模型时IndexError: tuple index out of range

解决方案:
在tools\demo.py中把VOC_CLASSES 换回 COCO_CLASSES,修改85,256行左右的代码~
在这里插入图片描述

6.7 加载预训练模型的时候 RuntimeError: Error(s) in loading state_dict for YOLOX

解决方案:
将train文件中44行左右—resume 改成False

6.8 训练了10次进行模型评估的时候报错[Errno 2] No such file or directory: ‘xxx.xml’

解决方案:
在这里插入图片描述

总结

代码跑通了,开心

如有问题,欢迎评论区交流!
在这里插入图片描述
学习交流群:995760755

  • 57
    点赞
  • 302
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 120
    评论
要在Windows 10上搭建YOLOX,您可以按照以下步骤进行操作: 1. 首先,您需要安装Anaconda。您可以从Anaconda官方网站下载适用于Windows的Anaconda安装程序,并按照安装向导进行安装。 2. 安装完成后,打开Anaconda Prompt(Anaconda命令行界面)。 3. 在Anaconda Prompt中,使用以下命令克隆YOLOX的GitHub仓库: ``` git clone https://github.com/Megvii-BaseDetection/YOLOX.git ``` 4. 进入克隆下来的YOLOX文件夹: ``` cd YOLOX ``` 5. 接下来,您可以选择使用pip或者python setup.py来安装YOLOX的依赖项。使用pip的命令如下: ``` pip install -v -e . ``` 6. 安装完成后,您可以根据YOLOX的文档(https://yolox.readthedocs.io/)来配置和使用YOLOX。 请注意,为了成功搭建YOLOX,您需要确保已经安装了cuda和cudnn,并且已经正确配置了相关的环境变量。如果您还没有安装这些组件,可以参考相关资料进行安装和配置。 希望以上信息对您有所帮助! #### 引用[.reference_title] - *1* [Windows10搭建YOLOX环境以及训练自己数据集](https://blog.csdn.net/lc_MVP/article/details/121890017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [windows10和ubuntu两种环境搭建YOLOX环境配置,并训练VOC数据集](https://blog.csdn.net/weixin_38076506/article/details/124566518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 120
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[空--白]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值