news 2026/9/13 8:48:01

如何用 LeRobot 在 MetaWorld MT50 基准上评估策略?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 LeRobot 在 MetaWorld MT50 基准上评估策略?

如何用 LeRobot 在 MetaWorld MT50 基准上评估策略?

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

你手上已经有一个训练好的策略(VLA 或通用操作策略),想在 LeRobot 内置的 Meta-World 仿真环境中,用完整的 MT50(50 个任务)基准衡量它的多任务表现。完成这篇文章后,你会得到一次覆盖 50 个任务、每任务 10 个回合(共 500 个回合)的评估,以及按任务组和整体汇总的成功率指标。前提是:已按 LeRobot 官方安装说明装好 LeRobot,并且策略与 Meta-World 环境的观测/动作接口一致。

MT50 基准包含什么

Meta-World 是面向多任务与元强化学习的连续控制操作仿真基准,在固定的 Sawyer 机械臂桌面上捆绑了 50 个任务。LeRobot 支持按单个任务、难度分组或完整 MT50 来评估,分组如下(引自 Meta-World 文档):

分组CLI 名称任务数说明
Easyeasy28简单动力学、单步目标
Mediummedium11需要多步推理
Hardhard6复杂接触与精细操作
Very Hardvery_hard5套件中最难的任务
MT50(全部)逗号分隔列表50完整多任务设置

四个难度组合计 28 + 11 + 6 + 5 = 50,正好覆盖全部任务,所以--env.task=easy,medium,hard,very_hard等价于跑完整 MT50(文档中 MT50 一行给出的 CLI 形式是「Comma-separated list」,即把 50 个任务名用逗号列出)。文档同时说明 MT50 评估使用固定物体/目标位置与 one-hot 任务向量来保持一致性,并在 HF Hub 提供了对应的 LeRobot 格式数据集lerobot/metaworld_mt50(若你还没有策略,它是训练侧的配套数据)。

策略侧需要匹配的接口(来自同一文档的 "Policy inputs and outputs" 一节):

  • observation.image—— 单个corner2相机视角,480x480 HWC uint8;
  • observation.state—— 4 维本体感知(末端位置 + 夹爪);
  • 动作 ——Box(-1, 1, shape=(4,)),即 3 维末端增量 + 1 维夹爪。

准备环境

在按 LeRobot 官方安装说明完成安装之后,追加 Meta-World 扩展依赖:

pip install -e ".[metaworld]"

该 extra 会同时安装lerobot[dataset]metaworld==3.0.0lerobot[scipy-dep](见 pyproject.toml 的依赖定义)。

文档给出了一个明确的排错项:如果在运行 Meta-World 环境时遇到AssertionError: ['human', 'rgb_array', 'depth_array'],这是 Meta-World 与你的 Gymnasium 版本不匹配,用下面命令修复:

pip install "gymnasium==1.1.0"

策略路径是评估命令的前置条件。--policy.path可以填 Hub 上策略的 repo ID,或指向一个用Policy.save_pretrained保存的本地目录(见 eval 配置)。注意:如果完全不提供该参数,LeRobot 会用随机权重从零构建策略并只发出一条警告,此时评估结果没有意义,务必检查输出日志确认加载的是你的策略。

运行 MT50 评估

最短主路径——完整 MT50、每任务 10 个回合(文档推荐的可复现基准设置,50 个任务共 500 个回合):

lerobot-eval \ --policy.path="your-policy-id" \ --env.type=metaworld \ --env.task=easy,medium,hard,very_hard \ --eval.batch_size=1 \ --eval.n_episodes=10

其中your-policy-id替换为你的策略 repo ID 或本地权重目录路径,其余参数与文档示例一致:

  • --env.task接受逗号分隔的显式任务名列表(如assembly-v3,dial-turn-v3)或难度组名;
  • --eval.batch_size控制并行运行的环境数量;
  • --eval.n_episodes设定每个任务运行的回合数。

在跑完整 MT50 之前,可以先用文档标注为 "Default evaluation (recommended)" 的 medium 分组(11 个任务)做一次快速验证,确认策略能正常加载、环境能出图:

lerobot-eval \ --policy.path="your-policy-id" \ --env.type=metaworld \ --env.task=medium \ --eval.batch_size=1 \ --eval.n_episodes=10

medium 是覆盖度与算力之间的平衡点;确认流程跑通后再切换回上面的 MT50 命令。

验证评估结果

运行过程中,lerobot-eval会在进度条上实时显示running_success_rate(百分比),成功判定取自每个环境info["is_success"]键(见 eval 脚本 中的final_info处理逻辑,以及 Meta-World 环境实现 中每步写入的is_success字段)。跑完后,脚本按"任务组"和"整体"两个层面累计sum_rewardsmax_rewardssuccesses等指标(见 eval 脚本 中的_accumulate_to聚合逻辑),这就是你与 MT50 基准对齐的最终成功率。文档也提醒:写后处理或日志时以info["is_success"]作为成功指标,才能与基准口径一致。

评估产物默认写入outputs/eval/<日期>/<时间>_<job_name>目录(未指定--output_dir时,见 eval 配置)。

限制与注意事项

  • 单个回合最多 500 步:环境按 MT1 配置构建,max_path_length=500(Meta-World 环境实现 中的_max_episode_steps),达到上限即截断,成功与否以is_success为准。
  • 完整 MT50 共 500 个回合,算力开销明显高于 medium(11 个任务);--eval.batch_size越大并行环境越多,文档示例统一使用 1,可按机器情况调整。
  • 若你计划训练多任务策略再回来评估,文档建议采用 MT10/MT50 惯例的 one-hot 任务条件化,让策略拥有显式任务上下文。
  • 遇到前面提到的 Gymnasium 断言错误时,直接按pip install "gymnasium==1.1.0"处理,不要升级其他依赖猜测修复。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 8:46:51

IDE选型本质是抽象层级匹配:程序员生存装备图谱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 8:43:17

WorkBuddy:语义驱动的AI演示生成工作台

1. WorkBuddy不是PPT插件&#xff0c;而是“内容驱动型演示生成器”很多人第一次听说WorkBuddy&#xff0c;下意识就去Excel或PowerPoint里找“加载项”——结果当然找不到。我最初也踩过这个坑&#xff0c;花了一整个下午在Office商店翻遍所有AI工具&#xff0c;直到同事甩给我…

作者头像 李华
网站建设 2026/9/13 8:42:12

改两处温度曲线,把 Windows 风扇噪音压下去

改两处温度曲线&#xff0c;把 Windows 风扇噪音压下去 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanContro…

作者头像 李华
网站建设 2026/9/13 8:39:17

Spark批处理中高效调用大模型:从UDF到并发优化实战

最近有好几个团队过来问我同一个问题&#xff1a;手里的 Spark 集群跑着一堆离线数据&#xff0c;现在想把大模型接进来做文本分类、实体抽取、情感打分这类活儿&#xff0c;到底该怎么做&#xff1f;有的同学上来就打算在 UDF 里把模型 load 进去&#xff0c;结果集群直接 OOM…

作者头像 李华