跳到主要内容

LeRobot v2 与 v3 格式差异

本文讨论 LeRobotDataset 的格式版本,即数据集的目录结构、元数据组织与读取方式,而不是 lerobot 代码库的软件发布版本。

定义​

类别示例含义
LeRobot 软件版本v0.4.0、v0.5.0Hugging Face lerobot 代码库的发布版本
LeRobotDataset 格式版本v2.0、v2.1、v3.0数据集目录结构、元数据组织与读取方式的版本

LeRobotDataset v3.0 自 lerobot v0.4.0 引入。截至 lerobot v0.5.0,meta/info.json 的 codebase_version 为 v3.0,格式主线仍为 v3.0,未出现新的格式代际。

版本差异​

格式对照​

两个格式的核心差异是 episode 的文件组织方式:v2 将一个 episode 写入一组独立文件,v3 将 episode 合并进共享文件,再通过元数据恢复 episode 级视图。

维度v2.0 / v2.1v3.0
版本标识codebase_version 为 v2.0 或 v2.1codebase_version 为 v3.0
表格数据路径data/chunk-XXX/episode_YYYYYY.parquet,整表即一个 episodedata/chunk-XXX/file-YYY.parquet,episode 按行范围切分
视频路径videos/chunk-XXX/{feature_key}/episode_YYYYYY.mp4,一个 episode 一个 mp4videos/{feature_key}/chunk-XXX/file-YYY.mp4,按时间范围切分
episode 组织一个 episode 对应一组 parquet 与 mp4 文件episode 合并进共享文件;写入按 chunks_size(默认 1000)与文件大小切分,文件数随 episode 增长更慢
episode 元数据meta/episodes.jsonl,每行一个 episodemeta/episodes/chunk-XXX/file-YYY.parquet,列式存储
任务元数据meta/tasks.jsonlmeta/tasks.parquet(官方默认)
统计元数据全局 meta/stats.json;每 episode 另存 meta/episodes_stats.jsonl全局 meta/stats.json;每 episode 统计以 stats/<feature>/... 列写入 meta/episodes/*.parquet
路径解析由 episode_index 与 chunks_size(默认 1000)推导 chunk_index,再代入路径模板由 episode 元数据的 data/chunk_index、data/file_index 与行范围、时间范围确定
路径模板data_path 与 video_path 写入 meta/info.json,占位符为 {episode_chunk}、{episode_index}、{video_key}data_path 与 video_path 写入 meta/info.json,占位符为 {chunk_index}、{file_index}、{video_key}
episode 定位字段episode_index、length、tasks、task_indexepisode_index、length、tasks、dataset_from_index、dataset_to_index、data/chunk_index、data/file_index、videos/<key>/from_timestamp、videos/<key>/to_timestamp
视频编码元数据视频 feature 的 info 记录 video.codec、video.pix_fmt、video.fps、video.width、video.height、video.channels同 v2,字段位置一致
大规模场景文件数量随 episode 线性增长文件数量少,适配对象存储与 Hub 流式读取

官方默认视频编码器为 libsvtav1(AV1),vcodec 可取 h264、hevc、libsvtav1 或 auto;meta/info.json 的视频 feature info 记录实际使用的编码器。平台 LeRobot Studio 导出 v3.0 时同时写入 meta/tasks.jsonl 与 meta/tasks.parquet。

版本判定​

meta/info.json 的 codebase_version 是唯一的格式版本判据。加载器按该字段选择 v2 或 v3 解析器,并在值不匹配时报告 VERSION_MISMATCH 或 VERSION_MISMATCH_V3。

路径解析​

v2 与 v3 的路径解析流程:

v3 的 dataset_from_index、dataset_to_index 是跨数据集拼接后的全局行号,读取单个 parquet 文件时需换算为文件内局部行号;视频则按 episode 元数据中的时间范围读取。

校验清单​

格式版本关键文件
v2.1meta/info.json、meta/stats.json、meta/episodes.jsonl、meta/episodes_stats.jsonl、meta/tasks.jsonl、data/chunk-*/episode_*.parquet、videos/chunk-*/<key>/episode_*.mp4
v3.0meta/info.json、meta/stats.json、meta/episodes/chunk-*/file-*.parquet、data/chunk-*/file-*.parquet、videos/<key>/chunk-*/file-*.mp4、meta/tasks.parquet(或 meta/tasks.jsonl)

meta/episodes.jsonl 与 meta/episodes/ 的 episode 数量应与 meta/info.json 的 total_episodes 一致;不一致时健康检查给出警告。v3 的 splits 应包含 train 键。

口径与依据​

项目取值依据
支持的格式版本v2.0、v2.1、v3.0lerobot/src/services/versioning/versionRegistry.ts
平台支持的训练数据集版本v2、v3train/app/services/training_capabilities.py
v2 默认数据路径模板data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquetlerobot v0.3.3 datasets/utils.py
v2 默认视频路径模板videos/chunk-{episode_chunk:03d}/{video_key}/episode_{episode_index:06d}.mp4lerobot v0.3.3 datasets/utils.py
v3 默认数据路径模板data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquetlerobot/src/services/versioning/v3FormatValidator.ts
v3 默认视频路径模板videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4lerobot/src/services/versioning/v3FormatValidator.ts
v2 默认 chunks_size1000lerobot/src/services/versioning/v2Adapter.ts;lerobot v0.3.3 datasets/utils.py
v3 episode 必需列episode_index、length、dataset_from_index、dataset_to_indexlerobot/src/services/versioning/v3FormatValidator.ts
v3 默认任务路径meta/tasks.parquetlerobot v0.5.0 datasets/utils.py
v2 任务路径meta/tasks.jsonllerobot v0.3.3 datasets/utils.py
官方默认视频编码器libsvtav1lerobot v0.5.0 datasets/video_utils.py

迁移与兼容​

方向方式约束
v2.1 → v3.0官方脚本 lerobot.scripts.convert_dataset_v21_to_v30,将每 episode 文件合并为共享文件并补齐 episode 定位元数据适用于已托管在 Hugging Face Hub 的数据集
v2.1 与 v3.0 双向在 LeRobot Studio 导出时切换目标版本适用于本地或私有数据;打开数据集后可先预览再导出
训练接入平台对训练数据集版本 v2 与 v3 均受支持具体模型对数据集版本的兼容范围见对应模型页

使用限制​

格式解析与校验受以下既有边界约束。

项目限制说明
支持的格式版本v2.0、v2.1、v3.0codebase_version 前缀非 v2 或 v3 时无法选择解析器
版本判据仅 meta/info.json 的 codebase_version与解析器不符时校验报 VERSION_MISMATCH 或 VERSION_MISMATCH_V3
v3.0 episode 必需列episode_index、length、dataset_from_index、dataset_to_index缺失时健康检查告警
v3.0 splits需包含 train缺少时健康检查告警
v3.0 路径模板使用默认 data_path、video_path非默认模板时健康检查告警
feature dtype固定白名单超出白名单的取值校验失败
feature shape正整数数组空数组或含非正整数时校验失败
feature names长度等于 shape 末维不一致时告警
子任务元数据仅 v3.0v2.1 不含 meta/subtasks.parquet
v2.1 → v3.0 迁移官方脚本限已托管于 Hugging Face Hub 的数据集本地或私有数据用导出时切换目标版本

相关页面​

页面用途
LeRobot 数据可视化浏览器内预览与健康检查
LeRobot 数据集与训练导出与训练总览
安装 LeRobot本地安装官方训练栈