{{htmlmetatags>metatag-robots=(index,follow) metatag-keywords=(LeRobotDataset,Parquet,数据集,机器人数据,录制,回放) metatag-description=(LeRobotDataset 是 LeRobot 标准化的机器人数据格式,使用 Parquet + MP4 实现高效存储和共享) }} ====== LeRobot 数据集 ====== ''LeRobotDataset'' 是 LeRobot 中机器人数据集的标准化数据格式。它解决了机器人领域的数据碎片化问题,提供统一高效的格式,使机器人演示数据能够在社区中无缝共享和重用。 [[机器人:lerobot:home|返回概述]] ===== 数据格式和结构 ===== ==== 文件结构 ==== 数据集在磁盘上组织如下: * **meta/** 目录:存储全局信息 * ''info.json'':数据集元数据(FPS、特征定义等) * ''stats.json'':各模态的统计数据(均值、标准差、最小、最大值) * ''tasks.parquet'':任务描述 * **data/** 或 **videos/** 目录:存储实际样本 * Parquet 文件:存储状态、动作、奖励等表格数据 * MP4 文件:存储视觉观测数据 数据被分块到多个文件中以提高存储效率和加载性能。 ==== 数据访问 ==== ''LeRobotDataset'' 类继承自 ''torch.utils.data.Dataset'',提供以下功能: * **元数据管理**:''LeRobotDatasetMetadata'' 处理数据集发现,先下载 ''meta/'' 目录检查数据集结构(FPS、特征等),再提交下载大型 Parquet 或视频文件 * **读取器**:''DatasetReader'' 通过 ''torchcodec''(首选)或 ''pyav''(回退)后端解码视频帧 * **写入器**:''DatasetWriter'' 处理顺序录制,包括 episode 缓冲区和视频编码 ==== 时间查询和增量时间戳 ==== 数据集支持通过相对时间偏移进行查询。策略可以接收过去观测的滑动窗口(例如 ''[-0.2, -0.1, 0.0]''),通过传递相对时间偏移字典来实现。 ===== 创建和录制数据集 ===== ==== 通过遥操作录制 ==== 使用 ''lerobot-record'' 命令通过遥操作录制 episodes: lerobot-record --robot.type=so100 --dataset.path=./my_dataset 录制过程将: 1. 通过 ''Teleoperator'' 读取动作 2. 通过 ''Robot'' 读取观测 3. 将 (观测, 动作) 对写入 ''DatasetWriter'' 4. 每个 episode 完成后保存到磁盘 ==== 数据集操作工具 ==== LeRobot 提供多种工具来操作已有数据集: * **lerobot-edit-dataset**:修改数据集特征、删除 episodes、拆分数据集 * **lerobot-dataset-viz**:可视化数据集内容 * **lerobot-imgtransform-viz**:可视化图像变换效果 * **lerobot-annotate**:为数据集添加标注 ===== 视频处理 ===== ==== TorchCodec ==== LeRobot 利用 ''TorchCodec'' 实现高效的多线程视频解码: * **支持平台**:Linux (x86_64)、macOS (Apple Silicon)、Windows (PyTorch >= 2.8) * **不支持平台**:Linux ARM (aarch64)、macOS Intel (x86_64) * **回退方案**:在不受支持的平台上自动使用 ''pyav'' ==== 推荐编码器 ==== ''libsvtav1'' 编码器是 ''LeRobotDataset'' 格式的首选编解码器,提供高压缩率和良好的解码性能。 ===== 版本兼容性 ===== 当前标准格式版本为 **v3.0**(由 ''CODEBASE_VERSION = "v3.0"'' 定义)。 **v2.1 到 v3.0 迁移**:使用 v2.1 创建的数据集与 v3.0 读取器不兼容。LeRobot 提供迁移脚本 ''convert_dataset_v21_to_v30.py'' 来处理格式转换。 ===== 相关页面 ===== * [[机器人:lerobot:home|LeRobot 框架概述]] * [[机器人:lerobot:核心概念|核心概念]] * [[机器人:lerobot:训练与评估|训练与评估]]