Skip to main content
机群学习发布版本为您的训练栈而构建。本页介绍 LeRobot 导入器、LeRobot 导出器,以及每个发布版本附带的文件。

每个发布版本包含的内容

机群学习计划中的每个发布版本都包括: Avala 在计划中准备 LeRobot 导出。训练由您运行。

导入 LeRobot 数据集

LeRobot 导入器从 Hugging Face Hub 或本地目录读取 LeRobot 数据集。它会创建一个 Avala MCAP 数据集。
  • 每个 LeRobot episode 成为一个 .mcap 文件,Avala 将其作为一个数据项接入。一个 LeRobot episode 对应一个 Avala 序列。
  • 摄像头流写为 foxglove.CompressedImage,因此可以在 Mission Control 查看器中渲染。
  • 本体感知(observation.state、action 以及其他一维数值特征)写为 google.protobuf.Struct 消息。数值被完整保留,可作为原始消息读取。
  • 其他每帧列(奖励、episode_uuid、failure_type 及其他文本列)也各自保留在独立的 topic 中。control_source 列(policy、teleop、intervention、hold)写入 /lerobot/control_source。
该导入器面向 LeRobot v2.1 和 v3 数据集 API。它需要 lerobot 扩展,该扩展要求 Python 3.12 或更高版本。对于 LeRobot v3 数据集,不依赖 torch 的读取器也可在 Python 3.9 及更高版本上使用:pip install "avala[lerobot-core-video]"。
传入 repo_id、root 或两者。在 Python 中,state_keys 选择要保留的数值特征。默认为 observation.state 和 action。

把 Avala 数据集导出为 LeRobot

您也可以自行把任何 Avala 序列数据集转换为 LeRobot v3。一个 Avala 序列成为一个 LeRobot episode。
--include-outcomes 把每个序列当前的结果标签写入 meta/avala_sequence_outcomes.jsonl,每个 LeRobot episode 一行。在 Python 中,传入 include_outcomes=True。文件格式见序列元数据模式中的“通过 LeRobot 导出结果标签”一节。 当源帧带有本体感知数据时,添加 --state-key 和 --action-key。完整的选项列表和 Python API 见 Avala + LeRobot。

在训练中使用结果标签

结果标签随 LeRobot 导出一起提供。常见用法:
  • 按 outcome、progress、quality 和 speed 为序列加权或挑选序列。
  • 用子任务的 label 字符串和手部动作的 action 字符串训练语言条件策略。
  • 构建您自己的验证集时,按泄漏组划分。
  • 合并来自其他来源的数据时,把 evaluation_membership 为 held_out_eval 的序列排除在训练之外。发布版本从不包含它们。
技术有效性不在导出中。Avala 在序列进入发布版本之前对其进行审核和验收。参见序列元数据模式中的“技术有效性”一节。