YOLOX训练自己的VOC数据集
文章目录
- 一、下载YOLOX代码
- 二、配置文件
- 修改数据集参数
- 三、开始训练
- 报错1:no model named 'yolox'
- 报错2:No such file or directory: '/ai/pytorch/YOLOX-main/datasets/VOCdevkit/VOC2012/ImageSets/Main/trainval.txt'
- 四、 使用训练完的模型进行预测
- 报错:no model named 'yolox'
- 五、预测效果:
- yolox-s效果
- yolox-m效果
- yolox-l 效果
- yolox-x效果
- yolov5-x效果
- 六、tensorboard可视化
- 报错:ValueError: Duplicate plugins for name projector
最近想跑一下yolox的代码,但是上网搜了几篇博客后感觉都异常的麻烦,而且跑起来还有各种各样的问题,不如自己写篇总结,把步骤和报错都记录下来。按照我的步骤一步步来,肯定是能跑通的。
一、下载YOLOX代码
https://github.com/Megvii-BaseDetection/YOLOX
二、配置文件
修改数据集参数
首先将自己的数据集放入datasets文件中,注意这里Main下面的文件名,trainval.txt代表训练集,test.txt代表测试集,官方代码中就是这样的,不想改官方代码,这里就跟官方保持一致就行了。
然后修改yolox_voc.py文件(可以使用default中的yolox、yolox_s等,这里默认使用yolox_voc.py做例子)
将num_classes修改为自己数据集的类别总数
之后再修改voc_classes.py文件,修改为自己的类别
三、开始训练
首先自己先创建一个weights文件,存放模型的预训练权重:
yolox_s.pth
在终端输入:
-d 表示使用哪一块GPU,-b 表示bitch_size,-c 表示预训练权重
python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 1 -c weights/yolox_s.pth
报错1:no model named ‘yolox’
只需将系统路径添加进去即可(这里添加的是你自己的工作路径,我是在服务器上跑的,根目录就是/ai/pytorch)
报错2:No such file or directory: ‘/ai/pytorch/YOLOX-main/datasets/VOCdevkit/VOC2012/ImageSets/Main/trainval.txt’
这里把这个2012删除即可。
四、 使用训练完的模型进行预测
训练完成后,会生成一个YOLOX-outputs文件夹,里面包含了训练后保存的权重和训练时的信息,由于我是在学校服务器上训练的,选择的是300轮里最好的权重,保存到自己创建的weights文件夹里了。
修改yolox/data/datasets/下的init.py文件,添加:from .voc_classes import VOC_CLASSES,之后在toos/demo.py文件中将COCO_CLASSES全部修改为VOC_CLASSES。
在终端中输入:-c 代表训练好的权重,-path 代表你要预测的图片存放的文件夹,
若想进行视频预测,只需将下面的 image 更换为 video;
若想预测整个文件夹,将class01.jpg去掉,只留 --path assets/ 。
python tools/demo.py image -f exps/example/yolox_voc/yolox_voc_s.py -c weights/best_ckpt.pth --path assets/class01.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]
报错:no model named ‘yolox’
还是老问题,需要添加系统路径,我添加的是自己电脑的工作路径:
预测完成后会在YOLOX_outputs下创建存放预测图片的文件夹:
五、预测效果:
yolox-s效果
感觉效果还行吧,毕竟跑的是最小的s,不过网上好多人说实际用起来不如yolov5,等后面跑一下yolox-x和yolox-Darknet53,看看效果怎么样吧。
yolox-m效果
yolox-l 效果
看这效果,貌似不如yolov5,前面的小头直接就检测不出来了,后续跑一下yolox-x,看看效果再做评价吧。
yolox-x效果
跟yolox-l一样,前面的小头没检测出来,但是其他的头概率很高,可能是因为使用了mosaic的原因吧,但总体效果感觉确实没yolov5好,后面再换个小目标数据集试一下。
yolov5-x效果
都是在预训练权重下训练300论的效果,很明显,吹的这么牛的yolox-x实际 用起来还没yolov5-x效果好,yolox-x的FLOPs(G)是281.9, yolov5-xFLOPs(G)217.1,两者差的不多,217.1的FLOPs(G)肯定是可以满足实际需求的,但是两者识别的效果差的太多了,该说不说,人生苦短,我选yolov5-x!(顺便说一下,yolox-x训练完的权重文件大概330mb,yolov5-x的权重文件是166mb)
六、tensorboard可视化
在终端输入:
tensorboard --logdir=YOLOX_outputs/ --bind_all
报错:ValueError: Duplicate plugins for name projector
只需将这个tensorboard-2.8.0.dist.info文件删除就可以了(注意是你当前conda环境下的site-packages,我的环境是pytorch)
YOLOX训练自己的VOC数据集相关推荐
- 【学习记录】win10搭建YOLOX训练自己的VOC数据集
我是目录: 前言: 1.yolox的训练配置 2.yolox源码 3.必要的环境 配置yolox所需环境 1.安装依赖库 2.安装yolox 3.安装apex 4.下载预训练模型 4.准备自己的数据集 ...
- (详细版Win10+Pycharm)YOLOX——训练自己的VOC2007数据集,以NWPU VHR-10 dataset为例
目录 一.搭建YOLOX环境 二.训练自己的VOC数据集 1.打开Pycharm配置Anaconda已创建好的yolo_x虚拟环境 2.在Pycharm中设置Git环境 3.修改配置文件 (1)修改Y ...
- mmdetection训练自己的VOC数据集及常见问题
训练自己的COCO数据集及常见问题见下文: mmdetection训练自己的COCO数据集及常见问题_不瘦8斤的妥球球饼的博客-CSDN博客 目录 一.环境安装 二.训练测试步骤 三.常见问题 bat ...
- mmdetectionV2.x版本 训练自己的VOC数据集
mmdetectionV2.x版本 训练自己的VOC数据集 1 首先根据规范的VOC数据集导入到项目目录下,如下图所示: mmdetection ----mmdet ----tools ----con ...
- mmdetection的安装并训练自己的VOC数据集
mmdetection的安装并训练自己的VOC数据集 mmdetection的安装与VOC数据集的训练 一. mmdetection的安装 1.使用conda创建虚拟环境 2.安装Cython 3.安 ...
- 在服务器上利用mmdetection来训练自己的voc数据集
在服务器上利用mmdetection来训练自己的voc数据集 服务器上配置mmdetection环境 在服务器上用anaconda配置自己的环境 进入自己的虚拟环境,开始配置mmdetection 跑 ...
- yolov5-7.0训练自己的VOC数据集
yolov5-7.0训练自己的VOC数据集 这个笔记可能只适用于7.0版本的,写这个笔记主要是给工作室伙伴参考的,大佬请绕行 有错误之处欢迎指出 一.下载 yolov5的GitHub仓库地址:Rele ...
- YOLOX训练自己标注的数据集
参考原作者:YOLOX训练自己的数据集(超详细)_AI小白一枚的博客-CSDN博客_yolox训练自己的数据集 YOLOX是旷视提出来的,研究者将解耦头.数据增强.无锚点以及标签分类等目标检测领域的优 ...
- 【mmdetection】SSD训练自己的VOC数据集注意事项
一.修改voc.py和class_names.py ./mmdet/datasets/voc.py 此处代码改为自己数据集的类别,以及./mmdet/core/evaluation/class_na ...
最新文章
- WijmoJS 2019V1正式发布:全新的在线 Demo 系统,助您快速上手,开发无忧
- 洛谷P4413 R2
- CF思维联系–CodeForces - 222 C Reducing Fractions(数学+有技巧的枚举)
- iOS扩大按钮的点击范围
- FormData的使用
- bootstrap table 怎么实现前两列固定冻结?
- HDU 4054 Number String
- LeetCode(1)——两数之和(JavaScript)
- VM centos网络配置
- 初识机器学习_04 朴素贝叶斯
- 郑州大学校园网使用指南
- NOD32杀毒软件如何更新及用户名列表
- 【弱电综合课程设计】三菱PLC经步进驱动器控制步进电机调速和正反转(硬件连接+梯形图)
- 批量生成10位数手机号,用作账号注册
- 面向临床需求的CT图像降噪综述
- Proptech崛起,房地产产业数智化,成了2020年的新风口
- 邮件安全风险评估方案
- 相邻图片之间有空白间隙的问题解决
- 鲲鹏devkit开发套件——编译调试工具介绍
- 页面提交成功后,弹窗提示