WIN10配置YOLOX以及训练自己的数据集(yolox训练自己的VOC数据集)

1.环境配置

环境:

· Windows:10

· cuda10.1+cudnn7.6.5

· Python 3.7

· torch:1.7.0

· torchvision:0.8.0

yolox官网:https://github.com/Megvii-BaseDetection/YOLOX

使用 conda创建环境:conda create -n yolox python=3.7

激活环境:conda activate yolox

激活环境后会出现以下界面:

下载pytorch:

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

测试pytorch GPU版是否安装成功:如下界面

进入yolox目录下cmd激活环境后安装依赖包:pip install -r requirements.txt

安装yolox: python setup.py install(最后一行出现Finished processing dependencies for yolox==0.1.0)安装成功

apex:https://github.com/NVIDIA/apex
下载apex,解压到yolox项目文件夹内

cd到apex文件夹内:cd apex-master

安装 apex:python setup.py install

安装 pycocotools:pip install pycocotools

下载预训练模型:
yolox_s.pth:
https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_s.pth

将下载的预训练模型放在 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

图片输出路径为:

2训练自己的数据集

环境配置好了:大家肯定就想要迫不及待的训练自己的数据集了把

首先我们先学习以下我们VOC数据集的结构和我们的数据集放置位置如下图所示

下面为标签文件夹(数据集来自东北大学)

下面为图片文件夹

创建两个文本test.txt和trainval.txt

下面为训练集和测试集划分的py文件

2.1训练部分的文件配置

修改 yolox/data/dataloading.py 如下:

修改exps/example/yolox_voc/yolox_voc_s.py如下:

修改前:

修改后:

修改num_classes改为自己的类别数量:

修改yolox/data/datasets/voc_classes.py为自己的类别:

修改yolox/evaluators/voc_eval.py 如下 :

到此处为止我们的训练部分的配置就告一段落了!!!!如果你按照教程上做成功了会不会有些喜悦呢???不急不急我们还有一些些小秘密还没说完

注:千万别忘了执行python setup.py install 更新yolox

运行代码开始训练 :

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

-d 使用显卡个数

-b 批次大小

–fp16 是否开启半精度训练

-c 加载预训练模型

2.2测试部分的文件配置

测试前修改demo.py如下:注释掉COCO_CLASSES,加入VOC_CLASSES

修改前:

修改后:

修改前:

修改后:

修改后:

注:千万别忘了执行python setup.py install 更新yolox

将要测试的图片放到如下图所示的文件夹中:

运行代码开始测试 :

单张图片进行测试

python tools/demo.py image -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth --path assets/ crazing_2.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

这里的红色文件名要用自己的名字

一个文件夹的图片进行测试(首先创建一个文件夹test如下图所示):

运行下列命令:

python tools/demo.py image -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/best_ckpt.pth --path test/ --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu 

3.常见报错:

1. ModuleNotFoundError: No module named ‘yolox’

解决方法:python setup.py install

2. 编码报错 UnicodeDecodeError:gbk xxxxx

解决方法:修改50行 加上encoding=”utf-8”

版权声明:本文为CSDN博主「Sunny&Meng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_17282293/article/details/122637748

Sunny&Meng

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

yolov5训练数据集划分

yolov5训练数据集划分 按照默认8:1:1划分训练集,测试集,验证集。 txt文件出现在imageset文件夹。 import os import randomtrainval_pe

Pytorch—万字入门SSD物体检测

前言 由于初入物体检测领域,我在学习SSD模型的时候遇到了很多的困难。一部分困难在于相关概念不清楚,专业词汇不知其意,相关文章不知所云;另一部分困难在于网上大部分文章要么只是简要介绍了SS