【免费下载链接】DreamDojo
Official Codebase for "DreamDojo: A Generalist Robot World Model from Large-Scale Human Videos" (ICML 2026)
DreamDojo是从 44k 小时人类第一视角视频中训练出的通用机器人世界模型(ICML 2026)。本文将逐一拆解官方评估脚本eval.sh的全部参数,带你 3 步完成环境准备,并完整复现In-lab与EgoDex两大官方评测集,输出 PSNR、SSIM、LPIPS 三项量化指标。
1️⃣ 评估在做什么?先搞懂原理
DreamDojo 的评估本质是一次动作条件视频生成(Action-conditioned Video2World):
- 从评测集中取出真实视频的第一帧作为条件,并提取对应的机器人动作序列(
action); - 模型以 12 帧为一个 chunk 自回归生成后续视频;
- 将生成视频与真实视频(Ground Truth)逐帧对比,计算PSNR / SSIM / LPIPS,最终汇总到
all_summary.json。
也就是说:生成得越接近真实轨迹,说明世界模型对动作的"想象"越准。核心实现位于 cosmos_predict2/action_conditioned.py,入口脚本是 examples/action_conditioned.py。
2️⃣ 运行 eval.sh 前的三项准备
按照 docs/SETUP.md 完成安装后,确认以下资源就位(仓库使用uv管理环境,一条命令安装):
bash install.sh| 准备项 | 说明 | 参考文档 |
|---|---|---|
| ✅ 检查点 | 官方 2B / 14B 预训练与后训练 checkpoint,放入或软链到checkpoints/目录 | checkpoints/README.md |
| ✅ 评测数据 | PhysicalAI-Robotics-GR00T-Teleop-GR1数据集,放入或软链到datasets/目录 | datasets/README.md |
| ✅ 实验配置 | 评估时用的 experiment 名对应configs/下的 yaml,如dreamdojo_2b_480_640_gr1对应 configs/2b_480_640_gr1.yaml | docs/EVAL.md |
💡路径要匹配 embodiment:数据加载器会根据数据集路径中是否包含
gr1、g1、yam、agibot等关键词自动推断机器人类型,路径命名不规范会直接报错(见 groot_dreams/dataloader.py)。
3️⃣ eval.sh 逐行拆解:完整参数清单
eval.sh 是官方评估入口,核心就是调用examples/action_conditioned.py:
bash eval.sh脚本内部等价于:
python examples/action_conditioned.py \ -o outputs/action_conditioned/basic \ --checkpoints-dir checkpoints/exp1201/gr1/checkpoints \ --experiment dreamdojo_2b_480_640_gr1 \ --save-dir results/gr1_unified_test \ --num-frames 49 \ --num-samples 100 \ --dataset-path datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/GR1_robot \ --data-split test \ --deterministic-uniform-sampling \ --checkpoint-interval 5000 \ --infinite注意:脚本开头的
PYTHONPATH、HF_HOME与 venv 激活路径是作者机器上的绝对路径,请改成你自己的本地路径。
参数逐项解释(完整清单)
| 参数 | 默认值 | 作用 |
|---|---|---|
-o | 必填 | 日志输出目录,如outputs/action_conditioned/basic |
--checkpoints-dir | checkpoints/exp1201/gr1/checkpoints | 检查点根目录,需包含latest_checkpoint.txt |
--experiment | 模型内置实验名 | 指定后训练配置名,决定读取哪个 yaml |
--save-dir | results/action2world | 生成视频与指标文件的保存位置 |
--num-frames | 37 | Ground Truth 视频总长度(含第 1 帧条件帧),49 即生成 48 帧新画面 |
--num-samples | 100 | 本次评估抽取的样本总数 |
--dataset-path | GR1_robot路径 | 评测集路径,多个集合用英文逗号拼接 |
--data-split | test | full:全部 100%;train:每个集合前 95%;test:每个集合后 5% |
--deterministic-uniform-sampling | 关 | 开启后按各集合等量均匀抽样,而非按长度比例 |
--checkpoint-interval | 2000 | 只评估间隔 N 步的检查点(如 5000 即评估第 5000、10000… 步) |
--infinite | 关 | 开启后进入常驻轮询,训练期间每 60 秒检查新检查点并自动评估 |
所有参数的默认值定义在 cosmos_predict2/action_conditioned_config.py 的ActionConditionedSetupArguments中。
4️⃣ 三个高频参数,深入讲透
--data-split:同一份数据的三种切法
对拼接后的每个评测集而言:
full→ 100% 数据,官方复现评测集时一律使用;train→ 每个集合的前 95%,适合做训练/验证分离的自评估;test→ 每个集合的后 5%,即eval.sh默认值。
--num-samples+--deterministic-uniform-sampling:公平抽样
当用逗号拼接多个子集(如 In-lab 的 10 个任务)时,默认会按各子集长度比例抽样——任务越多样本越多。开启--deterministic-uniform-sampling后,每个子集分到num-samples / 子集数个样本,保证 10 个任务一个不差。注意此时最小的子集长度不能小于均分值,否则会触发 assert 报错。
--infinite+--checkpoint-interval:训练中自动追踪
评估器会读取latest_checkpoint.txt,然后以--checkpoint-interval为步长遍历检查点:
- 已评估过(存在
all_summary.json或旧版metrics.json)会自动跳过,支持断点续评; - 若检查点缺少
model_ema_bf16.pt,会自动调用 scripts/convert_distcp_to_pt.py 完成格式转换; - 每轮结束后
sleep 60再轮询,非常适合与launch.sh训练并挂运行,实时追踪各检查点的性能曲线。
5️⃣ 复现官方评测集:In-lab 与 EgoDex 一键命令
官方在 docs/EVAL.md 中给出了三套完整复现参数,替换eval.sh中对应命令行即可。
🏭 In-lab Eval(10 个操作任务,逗号拼接)
覆盖pnp_handover_plate、pnp_cucumber、pour_items_into_basket、fold_cloth等 10 项 GR1 任务:
--num-frames 49 \ --num-samples 100 \ --dataset-path "datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.pnp_handover_plate_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.pnp_cucumber_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.pnp_corn_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.pnp_dragonfruit_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.pour_items_into_basket_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.right_to_left_handover_corn_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.mug_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.fold_cloth_long_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.fold_cloth_robot,datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/In-lab_Eval/gr1_unified.color_puzzles_robot" \ --data-split full \ --deterministic-uniform-sampling🧘 EgoDex Eval(人类第一视角泛化评测)
--num-frames 49 \ --num-samples 100 \ --dataset-path "datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/EgoDex_Eval" \ --data-split full \ --deterministic-uniform-sampling🎯 路径中含
egodex_21时,加载器会自动切换为 MANO 手部模型数据集(MANODataset),无需额外参数。
🌐 DreamDojo-HV Eval(大规模人类视频评测)
--num-frames 49 \ --num-samples 100 \ --dataset-path "datasets/PhysicalAI-Robotics-GR00T-Teleop-GR1/DreamDojo-HV_Eval" \ --data-split full \ --deterministic-uniform-sampling三套配置的共同点:49 帧 + 100 样本 + full 切分 + 均匀抽样,这正是论文基准数字的复现口径。
6️⃣ 结果怎么读?输出文件全解析
评估产物统一写在--save-dir下,按检查点分目录(如iter_00005000/):
| 文件 | 内容 |
|---|---|
{idx}_pred.mp4 | 模型生成的视频 |
{idx}_gt.mp4 | 真实视频 |
{idx}_merged.mp4 | 真实 / 生成左右拼接对比视频,肉眼审阅最直观 |
{idx}_actions.npy | 该样本输入的动作序列 |
{idx}_metrics.json | 单样本的psnr/ssim/lpips |
all_summary.json | 全部样本的三项指标均值,最终成绩看它 |
解读口径:psnr、ssim越高越好,lpips越低越好。配合--infinite模式,你可以对all_summary.json按迭代步数画图,直接得到性能曲线。
7️⃣ 常见问题速查(FAQ)
- Q:改了实验配置后评估报 "Experiment name must be provided"?说明检查点元数据中没有实验名,请显式传
--experiment且与configs/中 yaml 匹配。 - Q:
restrict_len ... is too large for smallest dataset length报错?开了均匀抽样但--num-samples过大,最小子集分不够样本,调小--num-samples即可。 - Q:评估卡住不动?确认
--infinite模式下训练是否还在产出检查点;单样本生成失败不会中断整批(keep_going默认开启)。 - Q:显存不够?官方环境基于 H100 80GB 测试,可用
--context-parallel-size多卡切分上下文,训练相关环境变量参考 docs/ISSUES.md。
写在最后
整套评估流程可以概括为一句话:install.sh装环境 → 摆好 checkpoint 与数据集 →bash eval.sh换参数开跑。掌握了--data-split、--num-samples、--deterministic-uniform-sampling这三个采样参数的组合方式,你就能在 10 个 In-lab 任务、EgoDex 或 DreamDojo-HV 任意评测集上复现论文指标,甚至建立自己的评估基准 🚀
更多训练侧配置,可继续阅读 docs/POSTTRAIN.md 与 docs/PRETRAIN.md。
【免费下载链接】DreamDojo
Official Codebase for "DreamDojo: A Generalist Robot World Model from Large-Scale Human Videos" (ICML 2026)
相关推荐
大模型性能评估完全指南:中国大模型评测指标解析与实践技巧
大模型性能评估完全指南:中国大模型评测指标解析与实践技巧 awesome LLMs In China是一个全面收集中国大模型信息的开源项目,涵盖百度文心一言、智
大模型VibeThinker数学评测复现指南:从AIME到HMMT多GPU评估全流程
VibeThinker数学评测复现指南:从AIME到HMMT多GPU评估全流程 VibeThinker 1.5B 是一个仅 15 亿参数却在数学推理上击败更大模
人工智能大模型推理模型模型评测Composer 训练器评估指南:eval_dataloader、Evaluator 多数据集评估与代码评测配置
Composer 训练器评估指南:eval_dataloader、Evaluator 多数据集评估与代码评测配置 本文是 Composer(MosaicML 开
深度学习分布式训练模型优化
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考