当前位置: 首页 > news >正文

yolox训练自己的数据集

环境搭建

gpu按自己情况安装
nvidia-smi 查看自己的版本
在这里插入图片描述

CUDA和cudnn 按自己的安装,我的驱动551.76,注意不要用最新的,官网只要求驱动是大于等于,可以用低版本的cuda,我安装的是CUDA 11.1
在这里插入图片描述
在这里插入图片描述

cuda下载后,下载cudnn将解压的cuDNN压缩包内的三个文件夹复制到CUDA安装目录下:
bin lib include

执行nvcc -V验证

C:\Users\Administrator>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:12:04_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.relgpu_drvr455TC455_06.29069683_0

安装torch
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c conda-forge
在这里插入图片描述

cd到代码目录下,E:\code\YOLOX-0.3.0
执行 pip3 install -v -e . 安装
最后pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
如果有版本问题,卸载重新调整
比如重新安装
pip install protobuf3.20.1
pip install numpy
1.19.5
pip install matplotlib3.3.4 scikit-image0.18.3 等

通过Labelimg标注数据

在这里插入图片描述
在这里插入图片描述

执行voc2txt.py 转换标注的数据为coco

if __name__ == "__main__":# 定义类别,要与yolox/data/datasets/coco_classes.py一致COCO_CLASSES = ("person")new_labeled_img_dir = "E:/data/1/table" # 新标注的文件train_dir = "E:/code/YOLOX-0.3.0/datasets/coco/train2017"         # 目标文件夹trainval_dir = "E:/code/YOLOX-0.3.0/datasets/coco/val2017"             # 目标文件夹valval_percent = 0.1                                         # train val 比例cache_dir = 'E:/data/yolox/cache'                   # 缓存图片的文件路径!!!!!一定要删除,被坑一个星期!!!!!!!!# 按比例随机拆分到到目标目录,会同时移动.jpg和.xml文件splitLabeled(val_percent, new_labeled_img_dir, train_dir, val_dir)#回收旧数据,提高新数据占比,最新100个数据不参与回收reduceData(train_dir,val_dir,max_data=500000,val_percent=val_percent,recycle_dir='E:/data/yolox/recycle')# 生成json# trainjson_file = "E:/code/YOLOX-0.3.0/datasets/coco/annotations/instances_train2017.json"image_id = 202200000parseXmlFiles(train_dir, json_file, image_id, COCO_CLASSES)# evaljson_file = "E:/code/YOLOX-0.3.0/datasets/coco/annotations/instances_val2017.json"image_id = 0parseXmlFiles(val_dir, json_file, image_id, COCO_CLASSES)# 删除 cache 文件delImgCache(cache_dir)

训练

修改train.py ckpt、batchsize
修改YOLOX-0.3.0\exps\example\custom\yolox_s.py的路径和num_classes
修改YOLOX-0.3.0\yolox\data\datasets\coco_classes.py

E:\code\YOLOX-0.3.0\下执行train.py

测试模型

YOLOX-0.3.0\tools\demo.py 用demo.py 测试图片,assets/an.png为测试的图片,last_epoch_ckpt.pth为自己训练的模型

参数
image -f E:/code/YOLOX-0.3.0/exps/example/custom/yolox_s.py -c E:\code\YOLOX-0.3.0\YOLOX_outputs\yolox_s\last_epoch_ckpt.pth --path assets/an.png --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
测试自己训练的模型

将自己训练的模型导出onnx

参数–output-name yolox_s.onnx -f E:/code/YOLOX-0.3.0/exps/example/custom/yolox_s.py -c E:\code\YOLOX-0.3.0\YOLOX_outputs\yolox_s\last_epoch_ckpt.pth
在YOLOX-0.3.0目录下执行
YOLOX-0.3.0\tools\export_onnx.py

生成yolox_s.onnx

http://www.lryc.cn/news/448741.html

相关文章:

  • Centos8.5.2111(1)之本地yum源搭建和docker部署与网络配置
  • 基于SSM+小程序的自习室选座与门禁管理系统(自习室1)(源码+sql脚本+视频导入教程+文档)
  • 支付宝远程收款api之小荷包跳转码
  • STM32 F1移植FATFS文件系统 USMART组件测试相关函数功能
  • YOLOv8改进 | 融合篇,YOLOv8主干网络替换为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)
  • 深入探索机器学习中的目标分类算法
  • 一文上手SpringSecurity【七】
  • 深圳龙链科技:全球区块链开发先锋,领航Web3生态未来
  • 手写代码,利用 mnist 数据集测试对比 kan 和 cnn/mlp 的效果
  • 基于Java+SQL Server2008开发的(CS界面)个人财物管理系统
  • 15年408计算机网络
  • C++ const关键字
  • python爬虫案例——腾讯网新闻标题(异步加载网站数据抓取,post请求)(6)
  • LeetCode416:分割等和子集
  • 自定义异常注解处理框架
  • 【小程序】微信小程序课程 -3 快速上手之常用方法
  • iOS 小组件
  • 【2.使用VBA自动填充Excel工作表】
  • 算法记录——链表
  • EasyExcel实现百万数据批量导出
  • 兆易GD32E508的SHRTIM配置 主从定时器 产生2对相位可调互补PWM 带死区
  • 数据归组工具
  • JavaScript 中的闭包的形成及使用场景
  • 后端返回内容有换行标识,前端如何识别换行
  • 服务器被挂马,导致网站首页被更改怎么解决
  • Android 利用OSMdroid开发GIS
  • 一文上手skywalking【上】
  • 【JavaScript】JQuery基础知识及应用
  • 初始爬虫9
  • 从细胞到临床:表观组学分析技术在精准医疗中的角色