目录

LeRobot 训练与评估

本页面概述 LeRobot 的训练和评估系统:涉及的脚本、配置如何流入流水线,以及训练和评估之间的关系。

返回概述

系统概览

训练和评估共享一个通用结构:配置数据类驱动所有选择,工厂层实例化数据集、策略和环境,循环处理数据流。评估集成在训练中(定期运行 rollout),也可通过 lerobot-eval 独立运行。

CLI 入口

命令 脚本 配置类 主函数
lerobot-train lerobot/scripts/lerobottrain.py | TrainPipelineConfig | train() | | lerobot-eval | lerobot/scripts/leroboteval.py EvalPipelineConfig eval_main()

训练流水线

train() 函数是监督离线训练的单一入口点。它使用 Hugging Face Accelerator 进行设备管理、混合精度和多 GPU 支持。

lerobot-train --policy.type=act --dataset.repo_id=lerobot/pusht --training.output_dir=./output

训练配置

TrainPipelineConfig 是训练的唯一根数据类,包含以下子配置:

所有子配置在启动时通过 validate() 方法验证。

优化器和学习率调度器

LeRobot 支持多种优化器和学习率调度器:

多 GPU 和分布式训练

通过 Hugging Face Accelerator 实现:

评估流水线

评估在向量化仿真环境中运行 rollout 并报告汇总指标。

eval() 函数

lerobot-eval CLI 调用,也可在训练过程中定期触发:

lerobot-eval --policy.type=act --policy.pretrained_model_name_or_path=./output/checkpoint

rollout()

在所有环境的 VectorEnv 中运行一批 episodes。滚动直到所有环境完成或达到 max_steps,返回形状为 (batch, sequence, *) 的动作、奖励、成功和完成张量。

强化学习

除了监督学习,LeRobot 还支持强化学习流水线:

策略和处理器连线

训练和评估都使用工厂函数实例化策略及其处理器:

相关页面