|
Download docs/usage.md from SeeYooLeo/CIG-RoboCasa-Kitchen: direct link, hf CLI and curl.
- Browser
- Download file 3.28 kB
-
https://huggingface.co/SeeYooLeo/CIG-RoboCasa-Kitchen/resolve/main/docs/usage.md
- Command line
-
hf download hf://SeeYooLeo/CIG-RoboCasa-Kitchen/docs/usage.md
-
curl -L -o usage.md https://huggingface.co/SeeYooLeo/CIG-RoboCasa-Kitchen/resolve/main/docs/usage.md
3.28 kB
| # Download, inference and evaluation | |
| ## Download one checkpoint | |
| ```bash | |
| pip install -U huggingface_hub | |
| hf download SeeYooLeo/CIG-RoboCasa-Kitchen \ | |
| --revision 4bdc391cb1dd6df8faa978e55aebf31e40c39da4 \ | |
| --include "pi05-cig/*" --local-dir weights | |
| ``` | |
| Replace `pi05-cig` with `pi05-baseline`, `oft-baseline` or `oft-cig` as needed. Keep the bundled normalization statistics. Download complete folders; OFT also requires its action head, proprioceptive projector and tokenizer files. | |
| ## Verify downloaded files without the code release | |
| Run from the directory containing `weights/`. The following checks all locally present checkpoint folders and rejects incomplete or modified files within those folders: | |
| ```bash | |
| python - <<'PY' | |
| import hashlib | |
| import json | |
| from pathlib import Path | |
| from huggingface_hub import hf_hub_download | |
| manifest_path = hf_hub_download( | |
| "SeeYooLeo/CIG-RoboCasa-Kitchen", "weights_manifest.json", | |
| revision="4bdc391cb1dd6df8faa978e55aebf31e40c39da4", | |
| ) | |
| manifest = json.loads(Path(manifest_path).read_text()) | |
| selected = {name for name in manifest["models"] if (Path("weights") / name).is_dir()} | |
| if not selected: | |
| raise RuntimeError("Download a checkpoint under weights/ first.") | |
| count = 0 | |
| for entry in manifest["files"]: | |
| path = Path(entry["path"]) | |
| if path.parts[1] not in selected: | |
| continue | |
| digest = hashlib.sha256() | |
| with path.open("rb") as stream: | |
| for chunk in iter(lambda: stream.read(16 * 1024 * 1024), b""): | |
| digest.update(chunk) | |
| if path.stat().st_size != entry["size"] or digest.hexdigest() != entry["sha256"]: | |
| raise RuntimeError(f"Checksum mismatch: {path}") | |
| count += 1 | |
| print(f"Verified {count} files across {len(selected)} checkpoints") | |
| PY | |
| ``` | |
| ## Start a policy server | |
| These commands require the companion robocasa-kitchen code release, its installed model environments and the downloaded weights. Set `ROOT` to the absolute path of that release: | |
| ```bash | |
| export ROOT=/absolute/path/to/robocasa-kitchen | |
| ``` | |
| For π0.5: | |
| ```bash | |
| source "$ROOT/.venv-pi05/bin/activate" | |
| cd "$ROOT/pi05" | |
| JAX_PLATFORMS=cpu CUDA_VISIBLE_DEVICES=0 python scripts/serve.py \ | |
| --checkpoint ../weights/pi05-cig --port 8000 | |
| ``` | |
| For OFT: | |
| ```bash | |
| source "$ROOT/.venv-oft/bin/activate" | |
| cd "$ROOT/oft" | |
| CUDA_VISIBLE_DEVICES=0 python serve.py \ | |
| --checkpoint ../weights/oft-cig --port 8000 | |
| ``` | |
| Choose one server per port. Substitute the baseline folder to evaluate the corresponding baseline. OFT LoRA updates are already merged; no additional adapter merge is needed. | |
| ## Evaluate robocasa-kitchen | |
| Install the pinned robocasa-kitchen v0.1 simulator and its assets using the companion release's installation guide. In another terminal, set the same `ROOT`, then run: | |
| ```bash | |
| source "$ROOT/.venv-sim/bin/activate" | |
| cd "$ROOT" | |
| MUJOCO_GL=egl python evaluation/evaluate.py \ | |
| --host 127.0.0.1 --port 8000 --task all --trials 50 --seed 42 \ | |
| --replan-steps 5 --output results/pi05-cig.json | |
| ``` | |
| Use an output filename matching the selected checkpoint. A full run contains 1,200 episodes. For a quick connection check, use `--task PnPCounterToCab --trials 1`. The code release's evaluation guide specifies task horizons and held-out splits. Newly measured results can differ from the manuscript-reported table. | |