| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> YOLOX自定义数据集训练(抢先踩坑) -> 正文阅读 |
|
[Python知识库]YOLOX自定义数据集训练(抢先踩坑) |
序言昨天被YOLOX刷屏了,各大公众号强推:性能超yolov5!!吊打一切yolo!!看麻了我,标题还能再夸张点嘛?出于对前沿技术的渴望,还是要去学习学习,论文中改进了很多地方,这里就不再介绍,刷屏的文章中都已经介绍了,直接来看下作者给的性能对比图: 习惯了yolo格式训练方式的我,在踩了无数的坑后,决定写一篇训练教程文章,记录自己踩坑的过程,也给后来人做参考。 话说在前头,坑是真的多,给我整麻了,要训练的同学做好debug的心理准备。 一、配置环境训练之前,按照官方的环境配一下,先介绍我的硬件情况:
因为要装的东西很多,我这里直接创建了一个conda虚拟环境,避免和我之前的环境产生冲突:
然后按照官方给的安装示例,配置必须的包:
我这里独自pip install安装的pytorch,版本是1.8,因为默认requirements.txt安装的话是安装最新版的1.9,而我在跑代码的时候因为1.9版本的问题报错了,张量cuda加载不上,如果你遇到同样的问题的话建议独自安装1.8版本的torch。 然后安装nvidia混合精度库apex:
在安装apex的时候遇到了新问题,我的电脑cuda版本是11.1,而我安装的pytorch cuda版本是cuda 11.0 的,所以编译没通过,解决办法是安装cuda 11.1的torch版本,这两个版本要同步,torch离线包的网站有对应的whl文件,下载下来重新安装即可。如果这一步没报错的话,可以直接跳过这段话。 再然后安装pycocotools,我这一步比较顺利,直接通过:
二、demo测试环境配置完后,来运行一下demo测试,看看环境是否安装成功。在hub中将权重文件下载下来:
其中:
运行成功示例如下(注意:他这里的demo代码出错了也不会报错,直接跳出终止,所以如果你运行了发现没有如下的运行结果,可能是程序终止了,需要自己排查,我在这里遇到的问题是img的张量cuda加载不上,后面排查是因为torch1.9的问题,就换了1.8,正如前面所说): 推理后的图片保存在data文件夹中,效果还不错的样子: 三、数据准备和配置修改程序中提供了voc和coco两种格式的数据训练,我这里用的是voc格式训练,voc格式的文件结构如下:
我的初始文件夹只有两个,通常标注完后只有这两个文件夹:
要严格按照这个格式制作数据集,因为程序中是按照这个结构读取,然后修改exps/example/yolox_voc/yolox_voc_s.py文件三个地方,把你的类别和文件路径改过来。
yolox_voc_s.py文件里的EXP类是继承于yolox_base.py,有一些参数可以看着修改,运行过后进入如下界面开始训练,打印了一堆的东西,我只截取了一部分: 四、模型测试紧接着是测试,同样是运行之前的demo.py文件,但是需要修改一下demo.py,导入VOC_classes,然后修改可视化函数的传参 修改exps/default/yolox_s.py文件 不过修改后就可以了,正确运行的界面如下。我们来看下我两百张图片训练出来的效果,用的还是之前筷子的数据集: 效果感觉也还行吧,和v5s的效果差不多,精度也比较接近,总的来说,yolox也对得起这个名字,毕竟人家不仅开源了训练代码,部署的也给你放出来了,卷啊卷啊卷。。。只不过这个代码,真是一堆的问题,差点给我整吐了。万幸还是跑出来了,大家遇到问题的话需要耐心调试,可以先去查yolox的issues,里面可能有你遇到的问题的解决方案,实在没有的话只能print。 五、最后补充因为是跑通了之后才写的文章,有一些细节可能忘记加上去了,踩的坑有点多,遇到的问题也比较多,大部分都是比较容易解决的,我隐约感觉有一些修改的地方忘记写上去了,如果是用我提供的筷子数据集训练的话,可能会遇到这样的问题,因为我的有一些标签是通过程序生成的(之前的yolov5半标注),所以在xml文件中没有这两个属性: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 14:09:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |