更新时间:2026-08-05 GMT+08:00
LeRobot数据集V2.1转V3
LeRobot V2.1转V3算子用于将LeRobot V2.1格式的数据集转换为V3格式。V3是当前推荐的格式,统一了元数据组织方式(以parquet替代jsonl存储任务与episode信息)。
- 核心能力:
- 格式升级:将V2.1的meta/tasks.jsonl、episodes.jsonl、episodes_stats.jsonl转换为V3的meta/tasks.parquet与meta/episodes/目录结构。
- 视频重组:将V2.1的视频文件(videos/)统一重组为V3的videos/目录结构。
- 子目录自动扫描:当输入路径本身不是V2.1数据集时,自动扫描其子目录下的所有V2.1数据集。
- 批量处理:支持一次提交多个数据集并行转换,单个失败不影响其他。
- 输入: LeRobot V2.1格式数据集目录(须含data/、meta/、videos/三个子目录)。
- 输出: LeRobot V3格式数据集目录。
输入说明
支持LeRobot V2.1格式数据集,不符合要求的数据集目录会自动跳过。
输入数据集目录结构
输入须为LeRobot V2.1格式:
<dataset_dir>/ # 输入路径(V2.1 数据集根目录) ├── data/ │ └── chunk-000/ │ ├── episode_000000.parquet # 轨迹数据 │ ├── episode_000001.parquet │ └── ... ├── meta/ │ ├── info.json # 数据集基本信息(版本、帧率等) │ ├── tasks.jsonl # 任务定义(jsonl 格式) │ ├── episodes.jsonl # Episode 元信息 │ └── episodes_stats.jsonl # Episode 统计信息 ├── images/ # 图像数据(图片序列,可选) │ ├── observation.images.front/ │ ├── observation.images.wrist_left/ │ └── observation.images.wrist_right/ └── videos/ # 视频数据(V2.1 必需字段)
子目录自动扫描
当输入路径本身不满足V2.1格式(即未同时包含data/、meta/、videos/)时,算子会自动遍历其一级子目录,识别其中的V2.1数据集并逐一转换:
<input_path>/ # 父目录(非 V2.1 格式)
├── pick_up_balls/ # 子目录,V2.1 格式 → 转换
│ ├── data/
│ ├── meta/
│ └── videos/
└── wash_dishes/ # 子目录,V2.1 格式 → 转换
├── data/
├── meta/
└── videos/
既非V2.1数据集、其下也未发现V2.1子目录的输入路径会被跳过并告警。
输出说明
根据输入数据集目录层级生成同目录结构的输出LeRobot V3格式数据集。
输出目录结构
转换结果为 LeRobot V3格式数据集:
<output_dir>/<key>/
├── data/
│ └── chunk-000/
│ ├── file_000000.parquet # 轨迹数据
│ ├── file_000001.parquet
│ └── ...
├── meta/
│ ├── info.json # 数据集基本信息(codebase_version 为 v3.0)
│ ├── stats.json # 数据统计信息
│ ├── tasks.parquet # 任务定义(parquet 格式,替代 V2.1 的 jsonl)
│ └── episodes/ # Episode 元信息目录(替代 V2.1 的 episodes.jsonl)
└── videos/ # 视频数据(由 V2.1 的 videos/ 视频文件重组)
├── observation.images.front/
├── observation.images.wrist_left/
└── observation.images.wrist_right/ 输出文件大小限制
单个parquet文件最大100MB,单个视频文件最大200MB,超限自动切分为多个文件。
父主题: 数据处理算子说明