YOLO11 数据集目录检查

629 字
3 分钟
YOLO11 数据集目录检查

YOLO11 数据集目录检查#

准备训练 YOLO11 时,最容易卡住的地方不是模型代码,而是数据集路径。图片放错位置、标签文件名对不上、data.yaml 写错目录,都会导致训练时找不到数据。

今天记录一套训练前的检查步骤,先把目录确认清楚,再开始跑模型。

1、推荐的数据集结构#

一个常见的检测数据集可以整理成这样:

datasets/
my_yolo_data/
images/
train/
val/
labels/
train/
val/
data.yaml

其中 images/train 放训练图片,labels/train 放训练标签;images/val 放验证图片,labels/val 放验证标签。

2、检查图片和标签是否同名#

YOLO 标签文件需要和图片文件同名,只是后缀不同。例如:

images/train/0001.jpg
labels/train/0001.txt

如果图片是 0001.jpg,标签却写成 1.txt,训练时就会认为这张图片没有标注。

可以用 Python 简单检查:

from pathlib import Path
img_dir = Path("datasets/my_yolo_data/images/train")
label_dir = Path("datasets/my_yolo_data/labels/train")
imgs = {p.stem for p in img_dir.glob("*.*")}
labels = {p.stem for p in label_dir.glob("*.txt")}
print("只有图片没有标签:", sorted(imgs - labels)[:10])
print("只有标签没有图片:", sorted(labels - imgs)[:10])

如果两个输出都是空列表,说明文件名基本对应。

3、检查 data.yaml#

data.yaml 可以先写成这样:

path: datasets/my_yolo_data
train: images/train
val: images/val
names:
0: person
1: car

这里要注意 path 和 train、val 的组合路径是否真的存在。可以手动拼一下:

datasets/my_yolo_data/images/train
datasets/my_yolo_data/images/val

如果项目在 Windows 上,路径也尽量使用 /,这样复制到命令里更稳定。

4、先跑一个小命令验证#

正式训练前,可以先用较小参数跑一轮:

Terminal window
yolo detect train data=datasets/my_yolo_data/data.yaml model=yolo11n.pt epochs=1 imgsz=640 batch=2

这一步不是为了训练效果,而是为了确认数据能被正常读取。只要能进入训练流程,就说明目录、标签和配置大体没问题。

5、常见错误记录#

我目前遇到比较多的是这几类:

1. data.yaml 的 path 写成了不存在的相对路径
2. images 和 labels 目录层级不一致
3. 标签 txt 文件为空或类别编号超过 names 范围
4. 图片后缀混用,但检查脚本只匹配了 jpg
5. 命令行运行目录不是项目根目录

遇到报错时,可以先从这几个点反查。

总结#

YOLO11 训练前先不要急着调参数。把数据集目录、图片标签对应关系和 data.yaml 检查清楚,比直接跑训练更节省时间。数据能稳定读进去,后面的模型效果才有讨论意义。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

YOLO11 数据集目录检查
https://blog.tjcheng.cn/posts/daily/2026-07-01/yolo11-dataset-folder-check/
作者
TengJinCheng
发布于
2026-07-01
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
TengJinCheng
Hello, I'm Teng.
公告
欢迎来到TengJinCheng工作铺!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
157
分类
7
标签
114
总字数
109,939
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.4
文章许可
CC BY-NC-SA 4.0

文章目录