Hugging Face 中 LeRobot 使用的入门指南
相关源文件
.github/ISSUE_TEMPLATE/bug-report.yml
.github/PULL_REQUEST_TEMPLATE.md
README.md
examples/1_load_lerobot_dataset.py
examples/2_evaluate_pretrained_policy.py
examples/3_train_policy.py
lerobot/scripts/eval.py
lerobot/scripts/train.py
本页面提供 LeRobot 的快速入门指南,涵盖如何加载数据集、评估预训练策略以及训练您自己的模型。有关安装说明,请参阅“安装介绍”。
LeRobot 概述
LeRobot 是一个使用 PyTorch 构建的框架,为现实世界的机器人技术提供模型、数据集和工具。它专注于模仿学习(IL)和强化学习(RL)方法,这些方法可以迁移到现实世界的机器人身上。
加载数据集
LeRobot 提供 LeRobot Dataset 类,可以从 Hugging Face Hub 无缝下载机器人数据集,并将其作为 PyTorch 张量提供。
基本数据集加载
探索数据集的元数据
无需下载完整数据集即可查看数据集的元数据:
使用时间序列
LeRobotDataset 的一个关键特征,是能够根据时间戳加载帧序列:
评估预训练策略
LeRobot 包含针对各种机器人任务的预训练策略,可以下载并运行:
使用 Python API
以下是在 PushT 环境中评估预训练扩散策略(DP)的基本示例:
使用命令行界面
LeRobot 提供一个命令行界面,用于在并行环境下进行高效的策略评估:
python lerobot/scripts/eval.py \ --policy.path=lerobot/diffusion_pusht \ --env.type=pusht \ --eval.batch_size=10 \ --eval.n_episodes=10 \ --policy.use_amp=false \ --policy.device=cuda
此命令使用 10 个并行环境在 10 episodes 上对策略进行评估,并将结果和视频保存在输出目录中。
训练策略
LeRobot 可以使用演示数据集来训练策略:
使用 Python API
以下是一个简单示例,展示如何训练扩散策略:
使用命令行界面
LeRobot 提供一个命令行界面,用于训练策略,并附带以下特征:
python lerobot/scripts/train.py \ --dataset.name=lerobot/pusht \ --policy.type=diffusion \ --steps=5000 \ --batch_size=64 \ --policy.device=cuda \ --save_freq=1000 \ --eval_freq=1000 \ --wandb.enable=true
此命令:
在 PushT 数据集上训练扩散策略 5000 步;
在环境中每 1000 步评估一次;
每 1000 步保存一次检查点;
将指标记录到 Weights & Biases(如果已配置过)。
还可以从 Hub 中复现特定训练好的模型:
python lerobot/scripts/train.py --config_path=lerobot/diffusion_pusht
这个使用与在 Hub 上训练模型时完全相同的配置。
后续步骤
现在已经了解 LeRobot 的基础知识,下一步可以:
- 在 Hugging Face Hub 上探索更多与 LeRobot 兼容的数据集
- 尝试不同的策略架构:
ACT 策略(动作分块Transformer)
Diffusion 策略(去噪扩散)
TDMPC 策略(时间差分模型预测控制)
VQBeT 策略(矢量量化行为Transformer)
PI 0 策略(视觉-语言-动作 VLA)
PI 0 FAST 策略(快速动作 token 化) - 在不同环境下进行实验:
PushT:简单的推动任务
ALOHA:双手操作
XArm:机械臂操作 - 在核心概念中了解 LeRobot 背后的核心概念:
- 按照 README 中提到的 SO-100 教程构建自己的机器人