前言

上个博客试着把yolox在win下的环境配置,然后就要试着训练自己的数据集,我这里用的是VOC格式的数据集,训练环境是win10 x64,CUDA11.0 cudnn 8.1 GPU 是GTX 3080,Anaconda 3.7,数据标注工具是LabelImg。

数据准备

1.在XXX/YOLOX/datasets/下创建一个VOCdevkit目录,在VOCdevkit下VOC2007目录,VOC2007目录下再创建三个空目录,分别是Annotations、ImageSets、JPEGImages,此时VOC2007目录下只有三个空的目录。


2.把要训练的图像放到JPEGImags目录下,如果有标注过的数据就把对应的xml文件放到Annotations目录,要从头标注则打开LabelImg,选择数据集路径(JPEGImags),选择保存标签文件路径(Annotations),开始标注。

3.把所有数据标注完成之后,在ImageSets目录下创建一个Main的目录,这个目录是用来保存数据配置文件的。

4.处理数据,把数据分成训练集和测试集,并生成对应的txt文件,处理数据python代码:

CreateVOCData.py

import os
import randomtrainval_percent = 0.1
train_percent = 0.9
data_root_path = 'D:/DL/YOLOX/datasets/VOCdevkit/VOC2007/'total_xml = os.listdir(os.path.join(data_root_path,"Annotations"))label_num = len(total_xml)
list = range(label_num)
tv = int(label_num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)train_file = open(os.path.join(data_root_path,"ImageSets/Main/train.txt"), 'w')
val_file = open(os.path.join(data_root_path,"ImageSets/Main/val.txt"), 'w')for i in list:name = total_xml[i][:-4] + '\n'if i in trainval:val_file.write(name)else:train_file.write(name)train_file.close()
val_file.close()

运行之后,在XXX/YOLOX/datasets/VOCdevkit/VOC2007/ImageSets/Main下有两个txt文件,这个就是训练集和验证集的目录标签。

训练

1.打开YOLOX\exps\example\yolox_voc\yolo_voc_s.py,把训练集和测试集路径改成自己的路径,在win下建议写绝对路径。
训练数据路径:

验证数据路径:

更改标签类数:

2.打开YOLOX/yolox/data/datasets/voc_classes.py

3.开始训练,我训练的是yolox_s的模型,从yolox官网下载yolox_s的权重放到YOLOX目录下,然后激活环境,开始训练。

cd YOLOX
activate yolox
python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 16 --fp16 -o -c yolox_s.pth

-d 使用多少张显卡训练
-b 批次大小
-fp16 是否开启半精度训练
-c 权重文件

如果出现这个代表已在开始,但也别高兴得太早,到10 epoch 之后开始验证,有可能报FileNotFoundError: [Errno 2] No such file or directory: ‘xxxxx.xml’ 这个错,然后打开val.txt文件,这xxx.xml文件是验证集的第一个文件,这是读不到目录引起的,更改YOLOX\yolox\evaluators\voc_eval.py文件。

重新训练就可以了。

YOLOX——Win10下训练自定义VOC数据集相关推荐

  1. yolov7_obb在WIN10下训练自己的数据集

    首先获取这位大神的GitHub代码:yolov7_obb+TensorRT+WIN10_Mrs.Gril的博客-CSDN博客 一.配置环境,为了方便大家尽量少的遇到配置问题,下面给出我的环境. 我的C ...

  2. Ubuntu上用caffe的SSD方法训练Pascal VOC数据集

    实验目的 继caffe和ssd搭建完成,demo也演示完毕,了解一些基本知识后,现在开始训练自己的数据集,在给自己的训练集处理之前,先跟着官方的示例将Pascal VOC数据集训练走一遍,把可能会踩坑 ...

  3. alexeyab darknet 编译_【目标检测实战】Darknet—yolov3模型训练(VOC数据集)

    原文发表在:语雀文档 0.前言 本文为Darknet框架下,利用官方VOC数据集的yolov3模型训练,训练环境为:Ubuntu18.04下的GPU训练,cuda版本10.0:cudnn版本7.6.5 ...

  4. Yolov3:win10下训练自己的数据(GPU版)(详细步骤)

    前言       最近在做用yolov3进行目标识别,关于前期已经成功检测成功了,大家有兴趣的可以看我之前写的一篇博客:VS2015+opencv3.4.2+yolov3成功检测,这篇博客主要介绍如何 ...

  5. 【Tensorflow】 Object_detection之训练PASCAL VOC数据集

    参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...

  6. WIN10下配置Yolov3(VS2019,GPU)+opencv训练自己的数据集(绝对详细,小白型记录)

    大二菜鸡,因为要准备一个水下识别的比赛,想到了用yolov3这个强大的框架,参考了许多大佬的博客,在这里记录一下自己的配置过程. ** 一. CUDA和CUDNN配置 ** 我的显卡的GTX1060, ...

  7. Windows下使用Darknet训练自己的数据集(模型:yolov4-tiny、数据集:垃圾分类)

    本文章主要介绍如何使用Darknet在windows下训练自己的数据集,其中模型使用的是yolov4-tiny,数据集使用的是自己垃圾分类数据集(需要的自取:在我上传的资源中有) PS:这是我的第一篇 ...

  8. win10 mmdetection3d 训练KITTI

    文章目录 1.环境的安装与配置 1.1 pytorch 1.2 mmdetection3d环境 2. win10下训练KITTI数据集 2.1 数据集存放位置 2.2 数据集预处理 2.3 训练KIT ...

  9. Win10下搭建旷视YOLOX(新一代anchor-free目标检测网络)并训练自定义CoCo格式数据集

    注意:原始的YOLOX只支持乌班图系统,因此以下所有操作均需要依赖博主自己的安装包.链接:https://pan.baidu.com/s/1CoQa8WjJ89gNfexK59Ewrw 提取码:qhi ...

最新文章

  1. javascript 中 console 的用法
  2. c语言编程所得票数,C语言编程求1X2X3····Xn所得的数末尾有多少个零
  3. 前滴滴出行产品经理刘飞:写给产品经理的说明书(下)
  4. 三星Galaxy Tab S8系列国行版曝光:对标iPad Pro的旗舰平板
  5. 巨杉数据库完成数亿元D轮融资,引领金融级分布式数据库发展
  6. Java常用JSON库FastJson,Gson,Jackson,Json-lib性能及特点比较,常用工具方法
  7. 洛谷——P1744 采购特价商品
  8. 今日直播预告 | 漏洞审计介绍
  9. r语言 wiod_数据可视化基本套路总结
  10. c语言选择结构训练试题,C语言临考练习试题
  11. 实时系统性能测试指标及方法
  12. cmd 查找文件路径
  13. 两个重要极限及其推导过程
  14. 【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
  15. PHP程序员战地日记
  16. 又一新框架 | 无监督图像转换任务新境界(附论文代码)
  17. Cmake 配置 arm-oe-linux-gnueabi-gcc 交叉编译
  18. base-package 详解
  19. 【iMessage苹果相册推】CSR邮箱必须与证书分属的AppID相同。 若是您可以在步伐中吸取令牌,则此步伐是成功的。
  20. 基本数据类型与高精度数字

热门文章

  1. mysql 批量drop_MySql批量drop table
  2. Eclipse旧版本Luna SR2(版本4.4.2)下载地址
  3. Tomcat 部署项目的三种方法
  4. 自己动手实现的 Spring IOC 和 AOP - 下篇
  5. Spring事务传递性探讨
  6. JavaSE学习52:细说多线程之Thread类和Runable接口
  7. 有哪些好的 LaTeX 编辑器?
  8. Python numpy 平方、乘方和平方根函数
  9. 程序员面试题精选100题(04)-二元树中和为某一值的所有路径[数据结构]
  10. 几本对于笔试和面试有用的书