LeRobot 快速上手:5 分钟跑通你的第一条机器人训练命令
2026/9/4 13:27:02 网站建设 项目流程

LeRobot 快速上手:5 分钟跑通你的第一条机器人训练命令

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

LeRobot 是 Hugging Face 的开源机器人学习框架,用 PyTorch 把"采数据 → 训练策略 → 控制真机"串成一条流水线。它统一了 SO100、LeKiwi、Unitree G1 等硬件接口,内置 ACT、Diffusion、Pi0、SmolVLA 等策略,解决的是机器人数据散、接口乱、算法难复现的问题。手里有一台低成本机械臂,或者想先在仿真里练手的人,都适合从它开始。

先跑起来:安装与验证只需 4 条命令

系统要求:

  • Python ≥ 3.12(pyproject.toml 中requires-python = ">=3.12"),conda 或 uv 均可,文档默认 conda
  • PyTorch ≥ 2.10,加速设备按 docs/source/torch_accelerators.mdx 对应选择
  • 训练策略需要 GPU;只做数据集加载或 CPU 推理没有硬性要求
  • 接真机时 Linux/macOS 各自有额外依赖(WSL 需要evdev),文档 docs/source/installation.mdx 有分平台说明
git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot conda create -y -n lerobot python=3.12 conda activate lerobot pip install lerobot

安装卡住时先看这里:docs/source/installation.mdx 有 conda / uv / pip 三条路径的完整步骤,WSL 和 Windows 的坑都写在里面。

装完跑一条命令验证环境:

lerobot-info

它会打印 PyTorch 版本、可用设备和包版本。卡住时先看这里:如果找不到命令,说明环境没激活,conda activate lerobot再试。

内部怎么组织:一张表看懂 5 个核心目录

目录管什么你什么时候会用到
src/lerobot/policies/策略实现:ACT、Diffusion、Pi0、SmolVLA 等 20 个模型训练时用--policy.type=选策略,微调改这里
src/lerobot/datasets/LeRobotDataset 的读写、统计、切分工具采集、加载、清洗数据集
src/lerobot/robots/13 类机器人驱动(SO100、LeKiwi、Unitree G1…)接真机时用--robot.type=选驱动
src/lerobot/scripts/20 个 CLI 入口(lerobot-trainlerobot-eval等)日常训练评估全靠这些命令
examples/可运行脚本:数据集、训练、推理、遥操作抄作业的第一站

最值得展开的是src/lerobot/processor/:它负责把原始观测标准化进模型、把模型输出还原成机器人动作。每个策略目录里都配了处理器,比如 ACT 的 processor_act.py。写推理代码时必须显式调用make_pre_post_processors拿到前后处理两步,漏掉任何一步,动作数值就不在训练分布内,机械臂会乱抖。

LeRobot 数据集实战:加载第一个社区数据集

下面这段代码取自 examples/dataset/load_lerobot_dataset.py,作用是从 Hub 上加载lerobot/aloha_mobile_cabinet数据集,先只看元数据再真正取帧——输入只需要一个 repo_id 字符串,输出是 PyTorch tensor(图像为 channel-first 的 c、h、w):

from lerobot.datasets import LeRobotDatasetMetadata ds_meta = LeRobotDatasetMetadata("lerobot/aloha_mobile_cabinet") print(ds_meta.total_episodes, ds_meta.fps, ds_meta.robot_type) dataset = LeRobotDataset("lerobot/aloha_mobile_cabinet", episodes=[0, 1]) print(dataset[0]["observation.state"].shape) # torch.Size([state_dim])

运行前先conda activate lerobot。这个例子还演示了delta_timestamps用法:一次性取过去 4 帧图像加未来 64 步动作,这正是 ACT 这类动作分块策略训练时需要的输入形态。

策略怎么挑、参数怎么调

策略适合场景代价
ACT低成本双臂精细操作演示数据越多越好,但单卡可训、启动最快
Diffusion2D 推块类任务(如 Pusht)推理步数越多越慢,num_inference_steps要自己权衡
SmolVLA要语言指令的轻量 VLA比传统策略吃显存,但仍是单卡友好档
Pi0视觉+语言的完整 VLA 任务模型最大,推理最重,微调成本高

三条调优建议:

  1. 演示数据少时先上 ACT,在 configuration_act.py 里调dim_modelchunk_size,小模型更容易收敛
  2. 训练不收敛先看学习率衰减,实现都在 src/lerobot/optim/ 的schedulers.pyfactory.py,换调度器不用改训练代码
  3. 显存紧张就把--batch_size降到 2、先用--dataset.episodes="[0]"跑单 episode 验证流程——这正是 Makefile 里 E2E 测试的跑法

常见坑 FAQ:4 个高频问题

1. 找不到串口设备症状:连接机器人时报FileNotFoundError。 原因:端口号是动态分配的,写死在配置里会失效。 解决:lerobot-find-port打印当前所有候选设备,把输出填进port参数。

2. 训练直接 OOM症状:GPU 显存爆掉,训练第一步就挂。 原因:默认 batch 对大策略(如 VLA 类)偏大。 解决:

lerobot-train --policy.type=smolvla \ --batch_size=2 \ --dataset.episodes="[0]" \ --steps=4 --wandb.enable=false

参数参照 Makefile 的test-smolvla-ete-train,先跑通再放大。

3. 推理时机械臂乱动症状:模型加载正常,动作却完全不对。 原因:相机的键名或分辨率和训练时不一致,或者漏了后处理。 解决:打开模型卡上的info.json核对camera_keys,键名、宽高、fps 必须逐项对上,再确认postprocess有被调用。

4. 不确定数据集长什么样症状:拿到一个 repo_id 不知道能不能用。 原因:没先看元数据就直接加载全量数据,慢且占空间。 解决:先实例化LeRobotDatasetMetadata,它只下载几 MB 的元数据文件,fps、robot_type、features 一目了然。

继续往下走

  • docs/source/:官方文档目录,installation.mdxcheat-sheet.mdxhardware_guide.mdx是三块最常用的砖
  • examples/:脚本库,训练入口看examples/training/train_policy.py,硬件部署看各机器人名下目录
  • tests/:pytest 用例就是"功能正确用法"的活文档,比如tests/policies/下各策略的用法测试
  • CONTRIBUTING.md:贡献指南,想提 PR 或修 bug 之前先读它,里面规定了文档字符串和测试的写法要求

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询