今天看啥  ›  专栏  ›  Sunny&Meng

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

Sunny&Meng  · CSDN  ·  · 2021-01-01 00:00

1.环境配置

环境:

· Windows:10

· 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”




原文地址:访问原文地址
快照地址: 访问文章快照