数据集
Ultralytics Platform 数据集为你管理训练数据提供了一套精简的解决方案。上传后,平台会自动处理图像、标签和统计数据。只要处理完成,且数据集在 train 拆分中至少有一张图片,在 val 或 test 拆分中至少有一张图片,且至少有一张已标注图片,总共至少有两张图片,该数据集即可用于训练。
上传数据集
Ultralytics Platform 支持多种上传格式,以提供灵活性。
受支持的格式
| 格式 | 扩展名 | 备注 | 最大尺寸 |
|---|---|---|---|
| JPEG | .jpg, .jpeg | 最常见,推荐使用 | 50 MB |
| PNG | .png | 支持透明度 | 50 MB |
| WebP | .webp | 现代格式,压缩效果好 | 50 MB |
| BMP | .bmp | 未压缩 | 50 MB |
| TIFF | .tiff, .tif | 高质量 | 50 MB |
| HEIC | .heic | iPhone 照片 | 50 MB |
| AVIF | .avif | 新一代格式 | 50 MB |
| JP2 | .jp2 | JPEG 2000 | 50 MB |
| DNG | .dng | 原始相机格式 | 50 MB |
| MPO | .mpo | 多图片对象 | 50 MB |
准备你的数据集
平台支持 Ultralytics YOLO、COCO、Ultralytics NDJSON 和原始(未标注)上传:
使用带有 data.yaml 文件的标准 YOLO 目录结构:
my-dataset/
├── images/
│ ├── train/
│ │ ├── img001.jpg
│ │ └── img002.jpg
│ └── val/
│ ├── img003.jpg
│ └── img004.jpg
├── labels/
│ ├── train/
│ │ ├── img001.txt
│ │ └── img002.txt
│ └── val/
│ ├── img003.txt
│ └── img004.txt
└── data.yamlYAML 文件定义了你的数据集配置:
# data.yaml
path: .
train: images/train
val: images/val
names:
0: person
1: car
2: dog原始:上传未标注的图片(无标签)。当你计划直接在平台上使用 标注编辑器 进行标注时非常有用。
你也可以在没有明确拆分文件夹的情况下上传图片。平台在上传期间会遵循活跃的拆分目标,对于非分类数据集,如果未提供拆分信息,它可能会从训练集中自动创建验证集。你以后总是可以使用批量移动到拆分或拆分重新分配来重新指派图片。
The format is detected automatically: datasets with a data.yaml containing names, train, or val keys are treated as YOLO. Datasets with COCO JSON files (containing images, annotations, and categories arrays) are treated as COCO. .ndjson exports are imported as Ultralytics NDJSON. Datasets with only images and no annotations are treated as raw.
有关任务特定格式的详细信息,请参阅 支持的任务 和 数据集概览。
上传流程
- 导航到侧边栏中的
Datasets - 点击
New Dataset或将文件拖入上传区域 - 选择任务类型(请参阅 支持的任务)
- 添加名称和可选描述
- 设置可见性(公开或私有)以及可选许可(请参阅 可用许可)
- 点击
Create

上传后,平台会通过一个多阶段流水线处理你的数据:
graph LR
A[Upload] --> B[Validate]
B --> C[Normalize]
C --> D[Thumbnail]
D --> E[Parse Labels]
E --> F[Statistics]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#2196F3,color:#fff
style D fill:#2196F3,color:#fff
style E fill:#2196F3,color:#fff
style F fill:#9C27B0,color:#fff- 验证:格式和大小检查
- 归一化:调整大图尺寸(最大 4096px,最小维度 28px)
- 缩略图:生成 256px WebP 预览图
- 标签解析:提取 YOLO 和 COCO 格式标签
- 统计信息:计算类别分布和图像尺寸

上传前验证
你可以在上传前在本地验证你的数据集:
from ultralytics.data.utils import check_det_dataset
check_det_dataset("path/to/data.yaml")图像的最短边必须至少为 28px。小于此尺寸的图像将在处理过程中被拒绝。最长边超过 4096px 的图像将在保持纵横比的情况下自动调整大小。
浏览图片
以多种布局查看你的数据集图片。
从图库工具栏打开 聚类 面板,以交互式 2D 散点图形式探索你的数据集。
| 视图 | 描述 |
|---|---|
| 网格 | 带标注覆盖层的缩略图网格(默认) |
| 紧凑 | 用于快速扫描的更小缩略图 |
| 表格 | 包含缩略图、文件名、尺寸、大小、拆分、类别和标签计数的列表 |

排序和筛选
图片可以排序和筛选,以便高效浏览:
| 排序 | 描述 |
|---|---|
| 最新 / 最旧 | 上传 / 创建顺序 |
| 名称 A-Z / Z-A | 文件名按字母顺序 |
| 高度 ↑/↓ | 以像素为单位的图像高度 |
| 宽度 ↑/↓ | 以像素为单位的图像宽度 |
| 大小 ↑/↓ | 磁盘上的文件大小 |
| 标注 ↑/↓ | 每张图像的标注数量 |
对于超过 100,000 张图像的数据集,名称 / 大小 / 宽度 / 高度排序将被禁用,以保持画廊的响应速度。最新、最旧和标注数量排序仍然可用。
使用设置为 Unlabeled 的标签筛选器,快速查找仍需标注的图像。这对于想要跟踪标注进度的大型数据集特别有用。
全屏查看器
点击任何图像以打开全屏查看器,其中包含:
- 导航:使用方向键或缩略图预览进行浏览
- 元数据:文件名、尺寸、拆分标签、标注数量
- 标注:切换标注覆盖层的可见性
- 类别分解:按类别显示标注数量,并带有颜色指示器
- 编辑:进入标注模式以添加或修改标签
- 下载:下载原始图像文件
- 删除:从数据集中删除该图像
- 缩放:使用
Cmd/Ctrl+Scroll、Cmd/Ctrl++或Cmd/Ctrl+=进行放大,使用Cmd/Ctrl+-进行缩小 - 重置视图:使用
Cmd/Ctrl + 0或重置按钮将图像调整至适合查看器的大小 - 平移:在缩放时按住
Space并拖动以平移画布 - 像素视图:切换像素化渲染以进行仔细检查

按拆分筛选
按数据集拆分筛选图像:
| 拆分 | 目的 |
|---|---|
| 训练 | 用于模型训练 |
| Val | 用于训练期间的验证 |
| Test | 用于最终评估 |
聚类
Clustering 面板将你的数据集投射到一个交互式 2D 散点图中,视觉上相似的图像会靠在一起。使用它可以发现聚类、识别重复项和离群值,并检查拆分或类别如何在你的数据中分布 —— 无需离开画廊。在任何数据集页面的画廊工具栏中,点击散点图图标即可打开。

运行分析
开始分析:
- 打开一个数据集,点击画廊工具栏中的散点图图标
- 点击
Analyze Dataset - 等待进度条完成 —— 结果将出现在同一个面板中
分析在后台运行,根据数据集的大小可能需要几分钟。你可以关闭面板或离开页面,稍后再回来。
可视化
分析完成后,面板会显示所有已分析图像的 2D 散点图。画廊筛选器(拆分、类别、已标注/未标注)会调暗筛选范围外的点,以便你专注于关心的子集。

着色依据
使用面板工具栏中的 Color by 下拉菜单更改数据点的着色方式。随时切换查看模式 —— 图表会立即重新着色,以便你查看拆分、类别或图像属性如何在你的聚类中分布:
| 选项 | 着色 |
|---|---|
| 拆分 | 训练 / 验证 / 测试 |
| 类别 (Classes) | 每张图像上的第一个标注类别 |
| 宽度 | 图像宽度 |
| 高度 | 图像高度 |
| 大小 | 文件大小 |
| 标注 | 每张图像的标注数量 |

套索选择
在图表上的一个区域周围绘制自由形式的选择框以突出显示点。画廊会自动筛选出匹配的图像,以便你使用常规的 图像操作 对其进行检查、重新标注、移动或删除。
图表上方的一个芯片显示选择了多少个点 —— 点击 × 以清除套索并返回完整的画廊视图。
平移和缩放
直接通过鼠标和键盘导航大型散点图:
| 输入 | 动作 |
|---|---|
| 滚动 | 在 2D 中平移图表 |
| Cmd/Ctrl+Scroll | 以光标为中心放大或缩小 |
| 按住 Space | 切换到拖拽平移模式 |
重新分析
如果数据集在分析后发生更改,所有者和编辑者可以看到面板顶部出现的 Re-analyze 按钮。
点击 Re-analyze 以从头开始重新计算嵌入向量和 2D 投影。
数据集选项卡
根据数据集的状态和你的权限,每个数据集页面最多可以显示六个标签页:
图像标签页
默认视图,显示带有标注覆盖层的图像画廊。支持网格、紧凑和表格视图模式。将文件拖放到此处即可添加更多图像。
类别标签页
当数据集包含图像时,会出现此标签页。
管理你数据集的标注类别:
- 类别直方图:显示每个类别标注数量的柱状图,带有线性/对数刻度切换功能
- 类别表格:可排序、可搜索的表格,包含类别名称、标签数量和图像数量
- 编辑类别名称:点击任何类别名称即可直接重命名
- 编辑类别颜色:点击颜色样本即可更改类别颜色
- 添加新类别:使用底部的输入框添加类别

如果你的数据集存在类别不平衡(例如,有 10,000 个“人”的标注,但只有 50 个“自行车”),请使用类别直方图上的 Log Scale 切换按钮,以清晰地查看所有类别。
图表选项卡
当数据集包含图像时,会出现此标签页。
从你的数据集中自动计算的统计信息:
| 图表 | 描述 |
|---|---|
| 拆分分布 | 显示训练/验证/测试图像数量及标注百分比的圆环图 |
| 顶级类别 | 出现频率最高的 10 个标注类别的圆环图 |
| 图像宽度 | 带平均值的图像宽度分布直方图 |
| 图像高度 | 带平均值的图像高度分布直方图 |
| 每个实例的点数 | 每个标注(分割/姿态)的多边形顶点或关键点计数 |
| 标注位置 | 边界框中心位置的 2D 热力图 |
| 图像尺寸 | 带有长宽比引导线的 2D 宽对高热力图 |

统计数据会缓存 5 分钟。对标注的更改将在缓存过期后反映出来。
点击任何热力图上的展开按钮以全屏模式查看。这提供了更大、更详细的视图,有助于理解大型数据集中的空间模式。
模型选项卡
在可搜索的表格中查看在此数据集上训练的所有模型:
| 列 | 描述 |
|---|---|
| 名称 | 带有链接的模型名称 |
| 项目 | 带有图标的父项目 |
| 状态 | 训练状态徽章 |
| 任务 | YOLO 任务类型 |
| Epochs | 最佳 epoch / 总 epoch 数 |
| mAP50-95 | 平均精度均值 |
| mAP50 | IoU 为 0.50 时的 mAP |
| 已创建 | 创建日期 |

错误选项卡
此选项卡仅在一个或多个文件处理失败时显示。
处理失败的图像将在此列出,包括:
- 错误横幅:失败图像的总数和指导信息
- 错误表格:文件名、用户友好的错误描述、修复提示和预览缩略图
- 常见错误包括损坏的文件、不受支持的格式、过小的图像(最小 28px)以及不受支持的颜色模式

常见处理错误
| 错误 | 原因 | 修复 |
|---|---|---|
| 无法读取图像文件 | 格式已损坏或不受支持 | 从图像编辑器重新导出 |
| 不完整或已损坏 | 文件在传输过程中被截断 | 重新下载原始文件 |
| 图像太小 | 最小尺寸低于 28px | 使用更高分辨率的源图像 |
| 不受支持的颜色模式 | CMYK 或索引颜色模式 | 转换为 RGB 模式 |
版本选项卡
为你的数据集创建不可变的 NDJSON 快照以实现可重复的训练。每个版本在创建时都会捕获图像计数、类别计数、标注计数和文件大小。
| 列 | 描述 |
|---|---|
| 版本 | 版本号 (v1, v2, ...) |
| 描述 | 用户提供的描述(可编辑) |
| 图像 | 快照时的图像计数 |
| 类别 | 快照时的类别计数 |
| 标注 | 快照时的标注计数 |
| 大小 | NDJSON 导出文件大小 |
| 已创建 | 版本创建时间 |
要创建版本:
- 打开 Versions 选项卡
- 可选:输入描述(例如 "Added 500 training images" 或 "Fixed mislabeled classes")
- 点击 + New Version
- 新版本出现在表格中
- 需要时可从表格中单独下载该版本
每个版本按顺序编号(v1, v2, v3...)并永久存储。你可以随时从版本表中下载任何以前的版本。
数据集达到 ready 状态后即可创建版本。
在对数据集进行重大更改(添加图像、修复标注或重新平衡拆分)之前和之后创建版本。这使你可以比较不同数据集状态下的模型性能。
显示的大小是 NDJSON 导出文件的大小,其中包含图像 URL 和标注,而不包含图像本身。实际图像数据单独存储,并通过签名 URL 访问。
导出数据集
通过数据集标题或版本选项卡下载 NDJSON,以便离线使用你的数据集。
要导出:
- 点击数据集标题中的 Export 按钮
- 直接下载当前的 NDJSON 快照
- 当你需要一个以后可以重新下载的不可变编号快照时,请使用 Versions 选项卡

NDJSON 格式每行存储一个 JSON 对象。第一行包含数据集元数据,随后每行对应一个图像:
{"type": "dataset", "task": "detect", "name": "my-dataset", "description": "...", "url": "https://platform.ultralytics.com/...", "class_names": {"0": "person", "1": "car"}, "version": 1, "created_at": "2026-01-15T10:00:00Z", "updated_at": "2026-02-20T14:30:00Z"}
{"type": "image", "file": "img001.jpg", "url": "https://...", "width": 640, "height": 480, "split": "train", "annotations": {"boxes": [[0, 0.5, 0.5, 0.2, 0.3]]}}
{"type": "image", "file": "img002.jpg", "url": "https://...", "width": 1280, "height": 720, "split": "val"}导出的 NDJSON 中的图像 URL 是签名的,有效期为 7 天。如果需要新的 URL,请重新导出数据集或创建新版本。
有关完整规范,请参阅 Ultralytics NDJSON 格式文档。
图像操作
快捷操作
在 Grid 或 Compact 视图中右键单击任何图像以访问快速操作:
| 动作 | 描述 |
|---|---|
| 移动到拆分 (Move to Split) | 将图像重新分配到 Train(训练集)、Val(验证集)或 Test(测试集)拆分 |
| 下载 | 下载原始图像文件 |
| 删除 | 从数据集中删除该图像 |

图像上下文菜单仅针对单个图像操作。如需对多张图像执行批量操作,请使用带有复选框选择功能的表格视图。
批量移动拆分
将选定的图像重新分配到同一数据集内的不同拆分中:
- 切换到表格视图
- 使用复选框选择图像
- 右键点击以打开上下文菜单
- 选择
Move to split(移动到拆分)> Train(训练集)、Validation(验证集)或 Test(测试集)
你也可以将图像拖放到网格视图中的拆分筛选选项卡上。
将所有图像上传到一个数据集,然后使用批量移动拆分功能将子集组织为训练集、验证集和测试集。
拆分重分配
使用自定义比例在训练集、验证集和测试集之间重新分配所有图像:
- 点击数据集工具栏中的拆分栏以打开重新分配拆分对话框
- 使用以下任意一种方法调整拆分百分比
- 查看实时图像数量预览以确认分配情况
- 点击应用,按照你设定的百分比随机重新分配所有图像

该对话框提供了三种设置目标拆分比例的方法:
| 方法 | 描述 |
|---|---|
| 拖动 | 拖动颜色段之间的手柄以直观地调整拆分边界 |
| 输入 | 编辑任意拆分的百分比输入(其他两个拆分会自动按比例重新平衡) |
| 自动 | 一键即可立即设置 80/20 的训练/验证拆分,并将测试拆分设为 0% |
实时预览会显示在你应用之前,每个拆分中将包含的确切图像数量。
点击自动按钮可立即设置推荐的 80/20 训练/验证拆分。这是最常用的训练比例。
批量删除
一次性删除多张图像:
- 在表格视图中选择图像
- 右键点击并选择
Delete(删除) - 确认删除
数据集 URI
使用 ul:// URI 格式引用平台数据集(请参阅 使用平台数据集):
ul://username/datasets/dataset-slug
使用此 URI 可在任何地方训练模型:
export ULTRALYTICS_API_KEY="YOUR_API_KEY"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100ul:// URI 适用于任何环境:
- 本地机器:在你的硬件上进行训练,数据会自动下载
- Google Colab:在笔记本中访问你的平台数据集
- 远程服务器:在云虚拟机上进行训练,并获得完整的数据集访问权限
可用许可证
平台支持以下数据集许可证:
| 许可证 | 类型 |
|---|---|
| 无 | 未选择许可证 |
| CC0-1.0 | 公共领域 |
| CC-BY-2.5 | 宽松型 |
| CC-BY-4.0 | 宽松型 |
| CC-BY-SA-4.0 | Copyleft(著佐权) |
| CC-BY-NC-4.0 | 非商业用途 |
| CC-BY-NC-SA-4.0 | Copyleft(著佐权) |
| CC-BY-ND-4.0 | 禁止演绎 |
| CC-BY-NC-ND-4.0 | 非商业用途 |
| Apache-2.0 | 宽松型 |
| MIT | 宽松型 |
| AGPL-3.0 | Copyleft(著佐权) |
| GPL-3.0 | Copyleft(著佐权) |
| 仅限研究 | 受限 |
| 其他 | 自定义 |
当克隆带有 Copyleft 许可证(AGPL-3.0、GPL-3.0、CC-BY-SA-4.0、CC-BY-NC-SA-4.0)的数据集时,克隆版本将继承该许可证,且许可证选择器会被锁定。
可见性设置
控制谁可以查看你的数据集:
| 设置 | 描述 |
|---|---|
| 私有 | 仅你自己可以访问 |
| 公开 | 任何人都可以在“探索”页面查看 |
可见性是在 New Dataset(新建数据集)对话框中使用切换开关设置的。公开的数据集在 Explore(探索)页面可见。
编辑数据集
数据集元数据可以直接在数据集页面上进行行内编辑,无需对话框:
- 名称:点击数据集名称进行编辑。更改会在失去焦点或按
Enter键时自动保存。 - 描述:点击描述(或“Add a description...”占位符)进行编辑。更改会自动保存。
- 任务类型:点击任务徽章以选择不同的任务类型。
- 许可证:点击许可证选择器以更改数据集许可证。
每张图像都会一起存储所有任务类型的注释。更改数据集任务类型可以控制编辑器中可见的注释,以及导出和训练中包含的内容。其他任务类型的注释会保留在数据库中,并在你切回时重新出现。
克隆数据集
在查看你不拥有的公开数据集时,点击 Clone Dataset(克隆数据集)即可在你的工作区中创建副本。克隆包含所有图像、注释和类别定义。如果原始数据集具有 Copyleft 许可证,克隆版本将继承它,且许可证选择器会被锁定。
星标和分享
- 星标:点击星标按钮以收藏数据集。星标数量对所有用户可见。
- 分享:对于公开数据集,点击分享按钮即可复制链接或分享到社交平台。
删除数据集
删除你不再需要的数据集:
- 打开数据集操作菜单
- 点击
Delete(删除) - 在对话框中确认:“This will move [name] to trash. You can restore it within 30 days.”(这会将 [名称] 移至回收站。你可以在 30 天内恢复它。)
删除的数据集会移至“回收站”,而非永久删除。你可以在 30 天内通过 Settings > Trash 将其恢复。
使用数据集进行训练
直接从你的数据集启动训练:
- 在数据集页面点击
New Model - 选择一个项目或创建一个新项目
- 配置训练参数
- 开始训练
graph LR
A[Dataset] --> B[New Model]
B --> C[Select Project]
C --> D[Configure]
D --> E[Start Training]
style A fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fff详情请参阅 Cloud Training。
常见问题 (FAQ)
上传后我的数据会怎样?
你的数据将在你选择的区域(美国、欧盟或亚太地区)进行处理和存储。图像处理流程如下:
- 校验格式和尺寸
- 如果最小维度小于 28px 则拒绝上传
- 如果大于 4096px 则进行归一化处理(保持纵横比;编码以优化存储)
- 使用带有 XXH3-128 哈希的“内容寻址存储”(CAS) 进行存储
- 生成 256px WebP 缩略图以实现快速浏览
存储机制是怎样的?
Ultralytics Platform 使用 内容寻址存储 (CAS) 来实现高效存储:
- 去重:不同用户上传的相同图像仅存储一次
- 完整性:XXH3-128 哈希确保数据完整性
- 效率:降低存储成本并加快处理速度
- 区域化:数据保留在你选择的区域(美国、欧盟或亚太地区)
我可以向现有数据集添加图像吗?
可以,将文件拖放到数据集页面或使用上传按钮即可添加其他图像。新的统计数据将自动计算。
如何移动不同分割之间的图像?
使用批量移动到分割 (move-to-split) 功能:
- 在表格视图中选择图像
- 右键点击并选择
Move to split - 选择目标分割(训练集、验证集或测试集)
支持哪些标签格式?
Ultralytics Platform 支持 YOLO 标签、COCO JSON、Ultralytics NDJSON 以及原始图像上传:
每个图像对应一个包含归一化坐标(0-1 范围)的 .txt 文件:
| 任务 | 格式 | 示例 |
|---|---|---|
| 检测 | class cx cy w h | 0 0.5 0.5 0.2 0.3 |
| 分割 | class x1 y1 x2 y2 ... | 0 0.1 0.1 0.9 0.1 0.9 0.9 |
| 姿态 | class cx cy w h kx1 ky1 v1 ... | 0 0.5 0.5 0.2 0.3 0.6 0.7 2 |
| OBB | class x1 y1 x2 y2 x3 y3 x4 y4 | 0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9 |
| 分类 | 目录结构 | train/cats/, train/dogs/ |
姿态可见性标志:0=未标注,1=已标注但被遮挡,2=已标注且可见。
我可以为同一个数据集标注多种任务类型吗?
可以。每张图像都存储了所有 5 种任务类型(检测、分割、姿态、OBB、分类)的标注。你可以随时切换数据集的当前活跃任务类型,而不会丢失现有标注。编辑器中仅显示与活跃任务类型匹配的标注,并将其包含在导出和训练中 —— 其他任务的标注会保留,并在你切回时重新出现。