Declarative task configs + a runtime that loads a scene, drives a
robot, evaluates a policy, and records scores. The canonical entry is
the geniesim benchmark CLI verb (owned by
geniesim_cli).
License: Mozilla Public License Version 2.0
Agent doc: see ../../.agent/geniesim_benchmark.md
Skills: skills/
pip install -e source/geniesim_benchmark/Pulled in automatically by geniesim bootstrap. Heavy runtime deps
(Isaac Sim, MuJoCo, open3d, …) come from this package.
geniesim benchmark run g2op_if_pick_block_color \
--infer-host=<IP>:8999geniesim benchmark check-inference \
--infer-host=<IP>:8999 --arch=corobotgeniesim benchmark categories # show category counts
geniesim benchmark robots # show robot counts
geniesim benchmark list --robot=g2op --category=instruction_followinggeniesim benchmark batch --category=instruction_following --robot=g2opThe benchmark stack ships dataset utilities under
geniesim_benchmark.dataset.*. The first converter goes from
agibot v1 → LeRobot v2.1 (parquet + HEVC/PNG-encoded MP4s):
geniesim dataset convert agibot-to-lerobot \
--agibot-dir ./agibot \
--output-dir ./lerobot_outThe --agibot-dir argument accepts either a single-episode dir
(contains aligned_joints.h5 directly) or a parent dir of multiple
episode subdirs — auto-detected at runtime. Pass
--lerobot-ref-dir <path> to fill missing fisheye / head_back
extrinsic columns from a reference dataset; omit it to leave those
columns empty. Requires ffmpeg on PATH (RGB → HEVC, depth → PNG).
| Skill | Purpose |
|---|---|
| run-benchmark | Launch a benchmark task locally against a user-provided inference server |
| check-inference | Probe a model inference WebSocket server and validate the response |
src/geniesim_benchmark/
├── app/app.py # runtime entry, called by `geniesim benchmark run`
├── config/ # *.yaml task configs (the work-list)
├── dataset/ # dataset utilities (format conversion, …)
│ └── convert/
│ └── agibot_to_lerobot.py # public convert_agibot_to_lerobot() + convert_cli()
└── …
config/*.yaml is the source of truth for what's a benchmark task —
robot, scene, policy, scoring rule. The runtime is config-driven; new
tasks land as new yaml files, not new code.
dataset/ is the home for off-line data utilities (format converters,
schema inspectors). Each converter exposes a plain-Python API plus a
convert_cli(argv) wrapper used by the geniesim dataset convert …
dispatcher — argparse only lives in the wrapper, the API is usable
from notebooks.
- 🗺️ Module map:
../README.md - 🏠 Repo root:
../../README.md - 🤖 Agent dispatcher:
../../.agent/geniesim_benchmark.md - 🏆 Leaderboard / public scores:
../../README.md§ Genie Sim Benchmark Leaderboard