WT-yolo数据集配置文件data.yaml的写法示例

news2025/4/15 13:32:07

YOLO 的 data.yaml 配置文件用于定义数据集的结构和类别信息。这里列出几种常见的写法和示例,在正式训练时需要根据实际需求正确配置 data.yaml 文件。

1. 基础配置(相对路径)

这是最常见的写法,使用相对路径来指定训练集、验证集和测试集的路径。

# 数据集根目录(可选)
path: ../datasets  # 相对于当前文件的路径

# 训练、验证和测试集的路径(相对于 path)
train: images/train  # 训练集图像路径
val: images/val      # 验证集图像路径
test: images/test    # 测试集图像路径(可选)

# 类别数量
nc: 5  # 假设有 5 个类别

# 类别名称列表
names: ['class1', 'class2', 'class3', 'class4', 'class5']

2. 使用绝对路径

如果项目需要在不同环境中运行,可以使用绝对路径来指定数据集的位置。

# 绝对路径
train: /absolute/path/to/train/images  # 训练集图像路径
val: /absolute/path/to/val/images      # 验证集图像路径
test: /absolute/path/to/test/images    # 测试集图像路径(可选)

nc: 5  # 类别数量
names: ['class1', 'class2', 'class3', 'class4', 'class5']  # 类别名称

3. 多数据集配置

如果需要同时使用多个数据集(例如,分别训练和验证),可以在 trainval 中指定多个路径。

# 多数据集配置
train:
  - /path/to/dataset1/train/images  # 数据集 1 的训练集
  - /path/to/dataset2/train/images  # 数据集 2 的训练集

val:
  - /path/to/dataset1/val/images    # 数据集 1 的验证集
  - /path/to/dataset2/val/images    # 数据集 2 的验证集

test: /path/to/test/images  # 测试集路径(可选)

nc: 5  # 类别数量
names: ['class1', 'class2', 'class3', 'class4', 'class5']  # 类别名称

4. 无测试集的配置

如果项目中没有测试集,可以省略 test 字段。

path: ../datasets  # 数据集根目录(可选)

train: images/train  # 训练集路径
val: images/val      # 验证集路径

nc: 5  # 类别数量
names: ['class1', 'class2', 'class3', 'class4', 'class5']  # 类别名称

5. 类别名称的字典格式(不推荐)

虽然 YOLO 通常使用列表格式定义类别名称,但某些版本可能支持字典格式。不过,建议使用列表格式以确保兼容性。

path: ../datasets

train: images/train
val: images/val

nc: 5
names:
  0: class1
  1: class2
  2: class3
  3: class4
  4: class5

注意事项

  1. 路径的正确性:确保路径正确指向图像文件夹。如果使用相对路径,path 字段是相对于 data.yaml 文件的位置。
  2. 类别数量和名称匹配nc 的值必须与 names 列表的长度一致。
  3. 缩进和格式:YAML 文件对缩进和格式非常敏感,确保使用正确的缩进(通常为 2 个空格)。
  4. 测试集可选test 字段是可选的,如果项目中没有测试集,可以省略。

示例项目结构

假设你的项目结构如下:

yolovX/
├── data/
│   └── datasets/
│       ├── images/
│       │   ├── train/
│       │   ├── val/
│       │   └── test/
│       └── labels/
│           ├── train/
│           ├── val/
│           └── test/
└── configs/
    └── data.yaml

对应的 data.yaml 文件可以这样写:

path: ../datasets  # 数据集根目录

train: images/train  # 训练集图像路径
val: images/val      # 验证集图像路径
test: images/test    # 测试集图像路径

nc: 5  # 类别数量
names: ['class1', 'class2', 'class3', 'class4', 'class5']  # 类别名称

总而言之

  • 使用相对路径更灵活,便于项目迁移。
  • 确保 ncnames 的值匹配。
  • 如果有多个数据集,可以在 trainval 中指定多个路径。
  • 避免使用字典格式定义类别名称,建议使用列表格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2334352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初学】课后作业汇总复习(七) 指针-深浅copy

1、 HugeInt类:构造、、cout Description: 32位整数的计算机可以表示整数的范围近似为-20亿到+20亿。在这个范围内操作一般不会出现问题,但是有的应用程序可能需要使用超出上述范围的整数。C可以满足这个需求,创建功能强大的新的…

探索加密期权波动率交易的系统化实践——动态对冲工具使用

Trading Volatility – What Are My Options? 在本文中,我们将介绍一些如何交易资产波动性(而非资产价格)的示例。为了帮助理解,我们将使用 Deribit 上提供的几种不同产品,包括但不限于期权。我们将尽可能消除对标的价…

方案精读:51页 财政数据信息资源目录数据标准存储及大数据资产化规划方案【附全文阅读】

该方案聚焦财政数据信息资源管理,适用于财政部门工作人员、数据管理与分析人员以及关注财政大数据应用的相关人士。 方案旨在构建财政数据资源目录,推动大数据在财政领域的应用与落地。整体规划上,以 “金财工程” 应用支撑平台为基础,建立省、市、县三级目录体系,遵循相关…

开源实时语音交互大模型Ultravox-cn

一款为实时语音交互设计的快速多模态LLM 概述 Ultravox是一种新型的多模态LLM,能够理解文本和人类语音,无需单独的自动语音识别(ASR)阶段。基于AudioLM、SeamlessM4T、Gazelle、SpeechGPT等研究,Ultravox能够将任何…

基于web的民宿信息系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 随着信息时代的来临,民宿过去的民宿信息方式的缺点逐渐暴露,对过去的民宿信息的缺点进行分析,采取计算机方式构建民宿信息系统。本文通过阅读相关文献,研究国内外相关技术,提出了一种民宿信息管理、民宿信息管理…

04-微服务 面试题-mk

文章目录 1.Spring Cloud 常见的组件有哪些?2.服务注册和发现是什么意思?(Spring Cloud 如何实现服务注册发现)3.Nacos配置中心热加载实现原理及关键技术4.OpenFeign在微服务中的远程服务调用工作流程5.你们项目负载均衡如何实现的 ?6.什么是服务雪崩,怎么解决这个问题?…

【Linux篇】深入理解文件系统:从基础概念到 ext2 文件系统的应用与解析

文件系统的魔法:让计算机理解并存储你的数据 一. 文件系统1.1 块1.2 分区1.3 inode(索引节点) 二. ext2文件系统2.1 认识文件系统2.2 Block Group (块组)2.2.1 Block Group 的基本概念2.2.2 Block Group 的作用 2.3 块组内部结构2.3.1 超级块(Super Bloc…

C++STL——容器-list(含模拟实现,即底层原理)(含迭代器失效问题)(所有你不理解的问题,这里都有解答,最详细)

目录 1.迭代器的分类 2.list的使用 2.1 list的构造 2.2 list iterator 2.3 list capacity 2.4 list element access ​编辑 2.5 list modifiers ​编辑2.5.1 list插入和删除 2.5.2 insert /erase 2.5.3 resize/swap/clear ​编辑 2.6 list的一些其他接口…

计算机组成原理笔记(十五)——3.5指令系统的发展

不同类型的计算机有各具特色的指令系统,由于计算机的性能、机器结构和使用环境不同,指令系统的差异也是很大的。 3.5.1 x86架构的扩展指令集 x86架构的扩展指令集是为了增强处理器在多媒体、三维图形、并行计算等领域的性能而设计的。这些扩展指令集通…

基于时间序列分解与XGBoost的交通通行时间预测方法解析

一、问题背景与数据概览 在城市交通管理系统中,准确预测道路通行时间对于智能交通调度和路径规划具有重要意义。本文基于真实道路传感器数据,构建了一个结合时间序列分解与机器学习模型的预测框架。数据源包含三个核心部分: 道路通行数据(new_gy_contest_traveltime_train…

基于XGBoost的异烟酸生产收率预测:冠军解决方案解析

1. 引言 在化工生产领域,准确预测产品收率对优化工艺流程、降低生产成本具有重要意义。本文以异烟酸生产为研究对象,通过机器学习方法构建预测模型,在包含10个生产步骤、42个工艺参数的数据集上实现高精度收率预测。该方案在工业竞赛中斩获冠军,本文将深度解析其技术实现细…

计算机视觉算法实现——电梯禁止电瓶车进入检测:原理、实现与行业应用(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 1. 电梯安全检测领域概述 近年来,随着电动自行车(以下简称"电瓶车"&…

MOM成功实施分享(八)汽车活塞生产制造MOM建设方案(第二部分)

在制造业数字化转型的浪潮中,方案对活塞积极探索,通过实施一系列数字化举措,在生产管理、供应链协同、质量控制等多个方面取得显著成效,为行业提供了优秀范例。 1.转型背景与目标:活塞在数字化转型前面临诸多挑战&…

Azure AI Foundry 正在构建一个技术无障碍的未来世界

我们习以为常的街道和数字世界,往往隐藏着被忽视的障碍——凹凸不平的路面、不兼容的网站、延迟的字幕或无法识别多样化声音的AI模型。这些细节对某些群体而言,却是日常的挑战。正如盲道不仅帮助视障者,也优化了整体城市体验,信息…

地毯填充luogu

P1228 地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地方盖上,美丽漂亮聪慧的公主就是他的人了。公主…

哈喽打车 小程序 分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向过程 这一次遇到这种风控感觉挺有…

基于 Vue 3 + Express 的网盘资源搜索与转存工具,支持响应式布局,移动端与PC完美适配

一个基于 Vue 3 Express 的网盘资源搜索与转存工具,支持响应式布局,移动端与PC完美适配,可通过 Docker 一键部署。 功能特性 🔍 多源资源搜索 支持多个资源订阅源搜索支持关键词搜索与资源链接解析支持豆瓣热门榜单展示 &#…

【操作系统学习篇-Linux】进程

1. 什么是进程 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。 如果你就看这个来理解进程,那么恭喜你,作为初学者,你…

CF985G Team Players

我敢赌,就算你知道怎么做,也必然得调试半天才能 AC。 [Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 图片来自洛谷。 [Analysis] \color{blue}{\texttt{[Analysis]}} [Analysis] 显然不可能正面计算。所以…

企业经营决策风险

在企业的经营过程中,领导者每天都在面对大量的决策——该扩大生产还是收缩业务?该增设销售渠道还是提升产品质量?但你知道吗,企业最大的成本,不是生产成本,也不是人工成本,而是决策错误的成本&a…