evaluating-cosmos-policy
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCosmos Policy Evaluation
Cosmos Policy 评估
Evaluation workflows for NVIDIA Cosmos Policy on LIBERO and RoboCasa simulation environments from the public repository. Covers blank-machine setup, headless GPU evaluation, and inference profiling.
cosmos-policy基于公开仓库,在LIBERO和RoboCasa仿真环境中运行NVIDIA Cosmos Policy的评估工作流。内容覆盖裸机环境搭建、无桌面GPU评估和推理性能分析。
cosmos-policyQuick start
快速开始
Run a minimal LIBERO evaluation using the official public eval module:
bash
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name libero_10 \
--num_trials_per_task 1 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection False使用官方公开评估模块运行最简LIBERO评估:
bash
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name libero_10 \
--num_trials_per_task 1 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection FalseCore concepts
核心概念
What Cosmos Policy is: NVIDIA Cosmos Policy is a vision-language-action (VLA) model that uses Cosmos Tokenizer to encode visual observations into discrete tokens, then predicts robot actions conditioned on language instructions and visual context.
Key architecture choices:
| Component | Design |
|---|---|
| Visual encoder | Cosmos Tokenizer (discrete tokens) |
| Language conditioning | Cross-attention to language embeddings |
| Action prediction | Autoregressive action token generation |
Public command surface: The supported evaluation entrypoints are and . Keep reproduction notes anchored to these public modules and their documented flags.
cosmos_policy.experiments.robot.libero.run_libero_evalcosmos_policy.experiments.robot.robocasa.run_robocasa_evalCosmos Policy简介:NVIDIA Cosmos Policy是一款视觉-语言-动作(VLA)模型,它使用Cosmos Tokenizer将视觉观测编码为离散令牌,然后基于语言指令和视觉上下文预测机器人动作。
核心架构选型:
| 组件 | 设计 |
|---|---|
| 视觉编码器 | Cosmos Tokenizer (离散令牌) |
| 语言条件注入 | 对语言嵌入做交叉注意力 |
| 动作预测 | 自回归动作令牌生成 |
公开命令入口:支持的评估入口为和。复现说明请锚定这些公开模块及其文档化的参数。
cosmos_policy.experiments.robot.libero.run_libero_evalcosmos_policy.experiments.robot.robocasa.run_robocasa_evalCompute requirements
算力要求
| Task | GPU | VRAM | Typical wall time |
|---|---|---|---|
| LIBERO smoke eval (1 trial) | 1x A40/A100 | ~16 GB | 5-10 min |
| LIBERO full eval (50 trials) | 1x A40/A100 | ~16 GB | 2-4 hours |
| RoboCasa single-task (2 trials) | 1x A40/A100 | ~18 GB | 10-15 min |
| RoboCasa all-tasks | 1x A40/A100 | ~18 GB | 4-8 hours |
| 任务 | GPU | VRAM | 典型耗时 |
|---|---|---|---|
| LIBERO冒烟评估(1次试跑) | 1x A40/A100 | ~16 GB | 5-10 分钟 |
| LIBERO全量评估(50次试跑) | 1x A40/A100 | ~16 GB | 2-4 小时 |
| RoboCasa单任务评估(2次试跑) | 1x A40/A100 | ~18 GB | 10-15 分钟 |
| RoboCasa全任务评估 | 1x A40/A100 | ~18 GB | 4-8 小时 |
When to use vs alternatives
适用场景与替代方案
Use this skill when:
- Evaluating NVIDIA Cosmos Policy on LIBERO or RoboCasa benchmarks
- Profiling inference latency and throughput for Cosmos Policy
- Setting up headless EGL rendering for robot simulation on GPU clusters
Use alternatives when:
- Training or fine-tuning Cosmos Policy from scratch (use official Cosmos training docs)
- Working with OpenVLA-based policies (use )
fine-tuning-openvla-oft - Working with Physical Intelligence pi0 models (use )
fine-tuning-serving-openpi - Running real-robot evaluation rather than simulation
适用场景:
- 在LIBERO或RoboCasa基准上评估NVIDIA Cosmos Policy
- 分析Cosmos Policy的推理延迟和吞吐量
- 在GPU集群上为机器人仿真搭建无桌面EGL渲染环境
请使用替代方案的场景:
- 从头训练或微调Cosmos Policy(请使用官方Cosmos训练文档)
- 使用基于OpenVLA的策略(请使用)
fine-tuning-openvla-oft - 使用Physical Intelligence pi0模型(请使用)
fine-tuning-serving-openpi - 运行真机机器人评估而非仿真评估
Workflow 1: LIBERO evaluation
工作流1:LIBERO评估
Copy this checklist and track progress:
text
LIBERO Eval Progress:
- [ ] Step 1: Install environment and dependencies
- [ ] Step 2: Configure headless EGL rendering
- [ ] Step 3: Run smoke evaluation
- [ ] Step 4: Validate outputs and parse results
- [ ] Step 5: Run full benchmark if smoke passesStep 1: Install environment
bash
git clone https://github.com/NVlabs/cosmos-policy.git
cd cosmos-policy复制此检查清单跟踪进度:
text
LIBERO评估进度:
- [ ] 步骤1:安装环境和依赖
- [ ] 步骤2:配置无桌面EGL渲染
- [ ] 步骤3:运行冒烟评估
- [ ] 步骤4:验证输出并解析结果
- [ ] 步骤5:冒烟测试通过后运行全量基准测试步骤1:安装环境
bash
git clone https://github.com/NVlabs/cosmos-policy.git
cd cosmos-policyFollow SETUP.md to build and enter the supported Docker container.
参考SETUP.md构建并进入支持的Docker容器
Then, inside the container:
然后在容器内执行:
uv sync --extra cu128 --group libero --python 3.10
**Step 2: Configure headless rendering**
```bash
export CUDA_VISIBLE_DEVICES=0
export MUJOCO_EGL_DEVICE_ID=0
export MUJOCO_GL=egl
export PYOPENGL_PLATFORM=eglStep 3: Run smoke evaluation
bash
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name libero_10 \
--num_trials_per_task 1 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection FalseStep 4: Validate and parse results
python
import json
import globuv sync --extra cu128 --group libero --python 3.10
**步骤2:配置无桌面渲染**
```bash
export CUDA_VISIBLE_DEVICES=0
export MUJOCO_EGL_DEVICE_ID=0
export MUJOCO_GL=egl
export PYOPENGL_PLATFORM=egl步骤3:运行冒烟评估
bash
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name libero_10 \
--num_trials_per_task 1 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection False步骤4:验证并解析结果
python
import json
import globFind latest evaluation result from the official log directory
从官方日志目录查找最新的评估结果
log_files = sorted(glob.glob("cosmos_policy/experiments/robot/libero/logs/**/*.json", recursive=True))
with open(log_files[-1]) as f:
results = json.load(f)
print(results)
**Step 5: Scale up**
Run across all four LIBERO task suites with 50 trials:
```bash
for suite in libero_spatial libero_object libero_goal libero_10; do
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name "$suite" \
--num_trials_per_task 50 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note "suite_${suite}" \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection False
donelog_files = sorted(glob.glob("cosmos_policy/experiments/robot/libero/logs/**/*.json", recursive=True))
with open(log_files[-1]) as f:
results = json.load(f)
print(results)
**步骤5:扩展评估规模**
覆盖所有四个LIBERO任务集,每个任务运行50次试跑:
```bash
for suite in libero_spatial libero_object libero_goal libero_10; do
uv run --extra cu128 --group libero --python 3.10 \
python -m cosmos_policy.experiments.robot.libero.run_libero_eval \
--config cosmos_predict2_2b_480p_libero__inference_only \
--ckpt_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-LIBERO-Predict2-2B/libero_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 16 \
--num_open_loop_steps 16 \
--task_suite_name "$suite" \
--num_trials_per_task 50 \
--local_log_dir cosmos_policy/experiments/robot/libero/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note "suite_${suite}" \
--ar_future_prediction False \
--ar_value_prediction False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection False
doneWorkflow 2: RoboCasa evaluation
工作流2:RoboCasa评估
Copy this checklist and track progress:
text
RoboCasa Eval Progress:
- [ ] Step 1: Install RoboCasa assets and verify macros
- [ ] Step 2: Run single-task smoke evaluation
- [ ] Step 3: Validate outputs
- [ ] Step 4: Expand to multi-task runsStep 1: Install RoboCasa
bash
git clone https://github.com/moojink/robocasa-cosmos-policy.git
uv pip install -e robocasa-cosmos-policy
python -m robocasa.scripts.setup_macros
python -m robocasa.scripts.download_kitchen_assetsThis fork installs the Python package expected by Cosmos Policy while preserving the patched environment changes used in the public RoboCasa eval path. Verify exists and paths are correct.
robocasamacros_private.pyStep 2: Single-task smoke evaluation
bash
uv run --extra cu128 --group robocasa --python 3.10 \
python -m cosmos_policy.experiments.robot.robocasa.run_robocasa_eval \
--config cosmos_predict2_2b_480p_robocasa_50_demos_per_task__inference \
--ckpt_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--num_wrist_images 1 \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 32 \
--num_open_loop_steps 16 \
--task_name TurnOffMicrowave \
--obj_instance_split A \
--num_trials_per_task 2 \
--local_log_dir cosmos_policy/experiments/robot/robocasa/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--use_variance_scale False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection FalseStep 3: Validate outputs
- Confirm the eval log prints the expected task name, object split, and checkpoint/config values.
- Inspect the final line in the log.
Success rate:
Step 4: Expand scope
Increase or add more tasks. Keep fixed across repeated runs for comparability.
--num_trials_per_task--obj_instance_split复制此检查清单跟踪进度:
text
RoboCasa评估进度:
- [ ] 步骤1:安装RoboCasa资产并验证宏配置
- [ ] 步骤2:运行单任务冒烟评估
- [ ] 步骤3:验证输出
- [ ] 步骤4:扩展为多任务运行步骤1:安装RoboCasa
bash
git clone https://github.com/moojink/robocasa-cosmos-policy.git
uv pip install -e robocasa-cosmos-policy
python -m robocasa.scripts.setup_macros
python -m robocasa.scripts.download_kitchen_assets此分支会安装Cosmos Policy所需的 Python包,同时保留公开RoboCasa评估路径中使用的补丁环境变更。请验证存在且路径正确。
robocasamacros_private.py步骤2:单任务冒烟评估
bash
uv run --extra cu128 --group robocasa --python 3.10 \
python -m cosmos_policy.experiments.robot.robocasa.run_robocasa_eval \
--config cosmos_predict2_2b_480p_robocasa_50_demos_per_task__inference \
--ckpt_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B \
--config_file cosmos_policy/config/config.py \
--use_wrist_image True \
--num_wrist_images 1 \
--use_proprio True \
--normalize_proprio True \
--unnormalize_actions True \
--dataset_stats_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_dataset_statistics.json \
--t5_text_embeddings_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_t5_embeddings.pkl \
--trained_with_image_aug True \
--chunk_size 32 \
--num_open_loop_steps 16 \
--task_name TurnOffMicrowave \
--obj_instance_split A \
--num_trials_per_task 2 \
--local_log_dir cosmos_policy/experiments/robot/robocasa/logs/ \
--seed 195 \
--randomize_seed False \
--deterministic True \
--run_id_note smoke \
--use_variance_scale False \
--use_jpeg_compression True \
--flip_images True \
--num_denoising_steps_action 5 \
--num_denoising_steps_future_state 1 \
--num_denoising_steps_value 1 \
--data_collection False步骤3:验证输出
- 确认评估日志打印了预期的任务名、对象拆分和检查点/配置值
- 检查日志中最终的行
Success rate:
步骤4:扩大评估范围
增加参数或添加更多任务。重复运行时请固定参数以保证结果可比性。
--num_trials_per_task--obj_instance_splitWorkflow 3: Blank-machine cluster launch
工作流3:裸机集群启动
text
Cluster Launch Progress:
- [ ] Step 1: Clone the public repo and enter the supported runtime
- [ ] Step 2: Sync the benchmark-specific dependency group
- [ ] Step 3: Export rendering and cache environment variables before evalStep 1: Clone and enter the supported runtime
bash
git clone https://github.com/NVlabs/cosmos-policy.git
cd cosmos-policytext
集群启动进度:
- [ ] 步骤1:克隆公开仓库并进入支持的运行时环境
- [ ] 步骤2:同步基准测试专属依赖组
- [ ] 步骤3:评估前导出渲染和缓存环境变量步骤1:克隆仓库并进入支持的运行时
bash
git clone https://github.com/NVlabs/cosmos-policy.git
cd cosmos-policyFollow SETUP.md, start the Docker container, and enter it before continuing.
参考SETUP.md启动Docker容器并进入后再继续后续操作
**Step 2: Sync dependencies**
```bash
uv sync --extra cu128 --group libero --python 3.10
**步骤2:同步依赖**
```bash
uv sync --extra cu128 --group libero --python 3.10or, for RoboCasa:
如果是RoboCasa评估则执行:
uv sync --extra cu128 --group robocasa --python 3.10
uv sync --extra cu128 --group robocasa --python 3.10
then install the Cosmos-compatible RoboCasa fork:
然后安装兼容Cosmos的RoboCasa分支:
git clone https://github.com/moojink/robocasa-cosmos-policy.git
uv pip install -e robocasa-cosmos-policy
**Step 3: Export runtime environment**
```bash
export CUDA_VISIBLE_DEVICES=0
export MUJOCO_EGL_DEVICE_ID=0
export MUJOCO_GL=egl
export PYOPENGL_PLATFORM=egl
export HF_HOME=${HF_HOME:-$HOME/.cache/huggingface}
export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-$HF_HOME}git clone https://github.com/moojink/robocasa-cosmos-policy.git
uv pip install -e robocasa-cosmos-policy
**步骤3:导出运行时环境变量**
```bash
export CUDA_VISIBLE_DEVICES=0
export MUJOCO_EGL_DEVICE_ID=0
export MUJOCO_GL=egl
export PYOPENGL_PLATFORM=egl
export HF_HOME=${HF_HOME:-$HOME/.cache/huggingface}
export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-$HF_HOME}Expected performance benchmarks
预期性能基准
Reference values from official evaluation (tied to specific setup and seeds):
| Task Suite | Success Rate | Notes |
|---|---|---|
| LIBERO-Spatial | 98.1% | Official LIBERO spatial result |
| LIBERO-Object | 100.0% | Official LIBERO object result |
| LIBERO-Goal | 98.2% | Official LIBERO goal result |
| LIBERO-Long | 97.6% | Official LIBERO long-horizon result |
| LIBERO-Average | 98.5% | Official average across LIBERO suites |
| RoboCasa | 67.1% | Official RoboCasa average result |
Reproduction note: Published success rates still depend on checkpoint choice, task suite, seeds, and simulator setup. Record the exact command and environment alongside any reported number.
官方评估的参考值(与特定配置和种子绑定):
| 任务集 | 成功率 | 说明 |
|---|---|---|
| LIBERO-Spatial | 98.1% | 官方LIBERO空间任务结果 |
| LIBERO-Object | 100.0% | 官方LIBERO物体任务结果 |
| LIBERO-Goal | 98.2% | 官方LIBERO目标任务结果 |
| LIBERO-Long | 97.6% | 官方LIBERO长程任务结果 |
| LIBERO-平均 | 98.5% | 官方LIBERO所有任务集平均结果 |
| RoboCasa | 67.1% | 官方RoboCasa平均结果 |
复现说明:公开的成功率依赖于检查点选择、任务集、种子和仿真器配置。上报任何数值时请同时记录准确的命令和环境信息。
Non-negotiable rules
硬性规则
- EGL alignment: Always set ,
CUDA_VISIBLE_DEVICES,MUJOCO_EGL_DEVICE_ID, andMUJOCO_GL=egltogether on headless GPU nodes.PYOPENGL_PLATFORM=egl - Official runtime first: If host-Python installs hit binary compatibility issues, fall back to the supported container workflow from before debugging package internals.
SETUP.md - Cache consistency: Use the same cache directory across setup and eval so Hugging Face and dependency caches are reused.
- Run comparability: Keep task name, object split, seed, and trial count fixed across repeated runs.
- EGL对齐:在无桌面GPU节点上必须同时设置、
CUDA_VISIBLE_DEVICES、MUJOCO_EGL_DEVICE_ID和MUJOCO_GL=eglPYOPENGL_PLATFORM=egl - 优先官方运行时:如果主机Python安装遇到二进制兼容性问题,请先回退到中支持的容器工作流,再调试包内部问题
SETUP.md - 缓存一致性:搭建环境和评估时使用相同的缓存目录,以复用Hugging Face和依赖缓存
- 运行可比性:重复运行时请固定任务名、对象拆分、种子和试跑次数
Common issues
常见问题
Issue: binary compatibility or loader failures on host Python
Fix: rerun inside the official container/runtime from . Do not assume host-package rebuilds will match the public release environment.
SETUP.mdIssue: LIBERO prompts for config path in a non-interactive shell
Fix: pre-create :
LIBERO_CONFIG_PATH/config.yamlpython
import os, yaml
config_dir = os.path.expanduser("~/.libero")
os.makedirs(config_dir, exist_ok=True)
with open(os.path.join(config_dir, "config.yaml"), "w") as f:
yaml.dump({"benchmark_root": "/path/to/libero/datasets"}, f)Issue: EGL initialization or shutdown noise
Fix: align EGL environment variables first. Treat teardown-only warnings as low-signal unless the job exits non-zero.
EGL_NOT_INITIALIZEDIssue: Kitchen object sampling NaNs or asset lookup failures in RoboCasa
Fix: rerun asset setup and confirm the patched robocasa install is intact:
bash
python -m robocasa.scripts.download_kitchen_assets
python -c "import robocasa; print(robocasa.__file__)"Issue: MuJoCo rendering mismatch
Fix: verify GPU device alignment:
python
import os
cuda_dev = os.environ.get("CUDA_VISIBLE_DEVICES", "not set")
egl_dev = os.environ.get("MUJOCO_EGL_DEVICE_ID", "not set")
assert cuda_dev == egl_dev, f"GPU mismatch: CUDA={cuda_dev}, EGL={egl_dev}"
print(f"Rendering on GPU {cuda_dev}")问题:主机Python上出现二进制兼容性或加载器失败
解决方法:在提供的官方容器/运行时中重新运行。不要假设主机包重建会匹配公开发布的环境。
SETUP.md问题:LIBERO在非交互shell中提示输入配置路径
解决方法:预先创建:
LIBERO_CONFIG_PATH/config.yamlpython
import os, yaml
config_dir = os.path.expanduser("~/.libero")
os.makedirs(config_dir, exist_ok=True)
with open(os.path.join(config_dir, "config.yaml"), "w") as f:
yaml.dump({"benchmark_root": "/path/to/libero/datasets"}, f)问题:EGL初始化或关闭报错
解决方法:先对齐EGL环境变量。如果任务没有非零退出,仅关闭阶段的警告可以忽略。
EGL_NOT_INITIALIZED问题:RoboCasa中厨房对象采样出现NaN或资产查找失败
解决方法:重新运行资产设置,确认打过补丁的robocasa安装完整:
bash
python -m robocasa.scripts.download_kitchen_assets
python -c "import robocasa; print(robocasa.__file__)"问题:MuJoCo渲染不匹配
解决方法:验证GPU设备对齐:
python
import os
cuda_dev = os.environ.get("CUDA_VISIBLE_DEVICES", "not set")
egl_dev = os.environ.get("MUJOCO_EGL_DEVICE_ID", "not set")
assert cuda_dev == egl_dev, f"GPU mismatch: CUDA={cuda_dev}, EGL={egl_dev}"
print(f"Rendering on GPU {cuda_dev}")Advanced topics
进阶主题
LIBERO command matrix: See references/libero-commands.md
RoboCasa command matrix: See references/robocasa-commands.md
LIBERO命令矩阵:参考references/libero-commands.md
RoboCasa命令矩阵:参考references/robocasa-commands.md
Resources
资源
- Cosmos Policy repository: https://github.com/NVlabs/cosmos-policy
- LIBERO benchmark: https://github.com/Lifelong-Robot-Learning/LIBERO
- Cosmos-compatible RoboCasa fork: https://github.com/moojink/robocasa-cosmos-policy
- Upstream RoboCasa project: https://github.com/robocasa/robocasa
- MuJoCo documentation: https://mujoco.readthedocs.io/
- Cosmos Policy仓库: https://github.com/NVlabs/cosmos-policy
- LIBERO基准: https://github.com/Lifelong-Robot-Learning/LIBERO
- 兼容Cosmos的RoboCasa分支: https://github.com/moojink/robocasa-cosmos-policy
- 上游RoboCasa项目: https://github.com/robocasa/robocasa
- MuJoCo文档: https://mujoco.readthedocs.io/