win10+pytorch1.9+yolox模型训练

官方git:GitHub - Megvii-BaseDetection/YOLOX: YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/

主要步骤还是根据官方教程来,并记录一些坑。

1、首先下载yolox到本地,并安装所需环境,因为我的环境之前跑v5的时候基本符合所以这一步很快就结束了。

git clone git@github.com:Megvii-BaseDetection/YOLOX.git

cd YOLOX

pip3 install -U pip && pip3 install -r requirements.txt

pip3 install -v -e .  # or  python3 setup.py develop

2、下载安装apex,自己要是不想训练模型这一步可以跳过去

git clone https://github.com/NVIDIA/apex

cd apex

pip3 install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

在下载apex的过程中遇到无法下载的情况,不要慌将https改为git,就可以下载了。如下所示:

 

下载完成之后按照教程进行安装即可。

3、进行测试

测试之前我们需要从官方下载Benchmark,最好点击旁边github下载,下载完成之后将文件放到configs文件夹,这个文件夹是我自己创建的,大家也可以自己创建,输入以下命令:

python tools/demo.py image -n yolox-s -c configs/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [gpu]

测试结果如下:嗯,,这是一幅很经典的图像了,这只狗永用的看着你

4、接下来可以训练自己的数据集了,yolox里面支持voc和coco数据集,这边我采用的是cooc数据集格式,因为之前跑其他模型得时候已经制作过coco数据集,这里就不介绍如何制作了,网上教程也很多,大家可以自行参考。

数据集主要存放在datssets文件夹下,如下:

打开coco_classes.py修改为自己标签,记住逗号不要忘记了,打开yolo_base.py修改epoch、num_work等参数

打开yolo_base.py将路径设置好。

修改之后输入已下命令:

python tools/train.py -n yolox-s -d 1 -b 1

这里d 是指gpu的数目,因为是在笔记本上运行,所以选择1

b是指batch size 按照官方教程来说计算方式为b=num-gpu * 8,但是为了防止给我报错 我还是选择了1

 小风扇呼啦呼啦的响,真担心会突然炸了,,,更担心突然给你报啥错误。。。。

训练结束:

 。。。。。best Ap 才59.29.。。。。。。。这。。。肯定哪个环节出错了。。。。。

 整个训练结束之后会得到一个模型:

 进行图像测试:

python tools/demo.py image -n yolox-s -c YOLOX_outputs/yolox_s/best_ckpt.pth --path datasets/COCO/images/zhachunling_1105_32.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [gpu]

 最终结果会在一个以当前时间为名称的文件夹下:

 具体检测图像如下,因为我就一个标签pan,图上预测的概率是89.4%

至此,基于win10+pytorch1.9+yolox训练自己的数据集就算结束了,但总感觉哪里不对。。。。

中途出现的错误:
1、cuDNN error: CUDNN_STATUS_ALLOC_FAILED
关闭正在奔跑的其他模型或者关闭pycharm等多个可能使用cudnn的进程。因为我之前是跑了下yolov5检测下是否v5还能继续工作,但是我中途强行关闭了,后来进行了电脑重启这个问题就没了,应该是虽然关闭了但是还是占用了一些。
2、CUDA out of memory
这个问题应该是几乎所有人都会遇到的吧,没办法电脑就那配置,一方面按照网上说的疯狂的taskkill进程,删到最后我的笔记本还是不行,将bacth_size跳到1 特没用,,后来将训练命令行种得--fp16 -o去掉 ,不需要混合精度训练 ,之后就可以快乐的训练了。

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

Mr曲末寒

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

暂无评论

发表评论

相关推荐

YOLOv3 YOLOv4 YOLOv5老鼠识别检测告警

前言
在食品安全众多环节中,后厨安全无疑是重中之重。俗话说“民以食为天,食以安为先”,食材新鲜程度如何、加工过程规不规范、厨具是否经过清洁消毒等问题,备受大家关注。 一、为什么需要AI检

Pytorch—万字入门SSD物体检测

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

Yolov5训练自制数据集

一、准备
1.项目链接
https://github.com/ultralytics/yolov5
2.制作数据集
将标注好的图片放到data/images/train 和data/images/valid 文件夹下,将.