Views
No views yet
scripts/eval/.| folder | embodiment | tasks | state | actions |
|---|---|---|---|---|
single/ | 28-DoF Shadow right hand | 12 | (84,) | (28,) |
bimanual/ | 56-DoF Shadow pair | 7 | (168,) | (56,) |
rgb observation preset produces and what the norm stats below were computed
over. eval_policy.py --policy pi0 applies that preset by default.1# single-hand
2hf download dexverse/pi05-dexverse --include 'single/*' --local-dir ./pi05-ckpt
3# bimanual
4hf download dexverse/pi05-dexverse --include 'bimanual/*' --local-dir ./pi05-ckptCKPT_DIR for serve_pi0.sh is then ./pi05-ckpt/single (or bimanual).single/
├── model.safetensors # 7.5 GB
├── metadata.pt
└── assets/dexbench-data/lerobot-single/norm_stats.jsonassets/ subtree. openpi resolves normalization
statistics by assets/<asset_id>/norm_stats.json, where asset_id comes from
the training config's data config. The historical id is dexbench-data/...
(DexVerse was previously named DexBench); renaming it makes the server start
without norm stats and silently emit unnormalized actions.1OPENPI_ROOT=/path/to/openpi \
2PYTHON_BIN=/path/to/openpi/.venv/bin/python \
3CKPT_DIR=$PWD/pi05-ckpt/single \
4CONFIG_NAME=pi05_dexbench \
5 bash scripts/eval/serve_pi0.sh
6
7# in the DexVerse / Isaac Lab environment
8python scripts/eval/eval_policy.py --policy pi0 --enable_cameras --headless \
9 --task Dexverse-GraspCup-v0 --num_episodes 20CONFIG_NAME must be a TrainConfig registered in your openpi checkout whose
data config matches the embodiment (the bimanual config repacks three camera
views instead of two).eval_policy.py:1{"third_person": uint8 (256,256,3),
2 "wrist": uint8 (256,256,3), # left_wrist + right_wrist when bimanual
3 "state": float32 (84,), # (168,) when bimanual
4 "prompt": str} # -> {"actions": float32 (horizon, 28|56)}scripts/eval/baseline_tasks.py; they are the training set's
language_instruction values verbatim. The data config sets
prompt_from_task=True, so the client-sent string reaches the model directly.pi05_base for 2000 steps on demonstrations recorded through the
DexVerse VR teleoperation pipeline, converted to LeRobot format. Backgrounds and
table textures were held fixed during data generation
(create_demo_files_sequential.py --disable-bg-randomize); evaluate with the
matching setting (the harness default) or expect a visual domain gap.