Simulusion CLI#
The project exposes a small command-line interface for common developer tasks:
Run the CLI with:
python -m simulusion.cli <command>; after installing the package an installed entrypoint is available assimulusion <command>. Tests and plugin integrations may invoke the top-level Click app (simulusion.cli.app) or the console-script callable (simulusion.cli.run).The CLI uses Click directly and lazy imports to keep startup fast; some commands require optional dependencies (listed below).
Commands#
version- Print the installedsimulusionpackage version (or “unknown” if the package cannot be imported).envs list- List built-in environment backends and example environment ids. This reads the environment catalog fromsimulusion.catalogif available.datasets list [PATH]- List dataset entries underPATH. IfPATHis not provided the command usesSIMULUSION_HOMEor defaults to~/.simulusion.datasets convert <src> [--dest-format video] [--out-dir DIR]- Convert a simple dataset file into another format. The initial implementation supports converting HDF5 (.h5) or NumPy (.npz/.npy) datasets into MP4 video files (one file per episode) when--dest-format videois used. Output files are written to the specified--out-diror./converted_datasetsby default.collect --env <ENV_ID> [--steps N] [--out PATH] [--random-policy]- Run a (random) policy for a number of environment steps and save interactions to a compressed.npzwith keysobservations,actions,rewards,dones.datasets import lerobot <source> <out_dir>- Convert a local LeRobot dataset folder into an episode folder, the format every training task reads. Options:--camera,--all-cameras,--episodes 0-9. See Your Own Data: Episodes and LeRobot.datasets info <path>- Summarise an episode folder: episodes, frames, action space, cameras, observations, source.train [task] [--config FILE] [--print-config] [key=value ...]- Train on the shared Trainer from a run config.taskis any registered training task (simulusion train --help-taskslists them), optional when the config names one;--configtakes a YAML file or the name of a shipped config insimulusion/configs/runs/; every field can be overridden with dottedkey=valuepairs. See One Trainer for Every Model.train <model> --legacy [extra args...] [--inproc]- Launch a family’s own, older training entrypoint (python -m simulusion.training.train_<name>), forwarding the extra args;--inproccalls itsmain()in-process instead of spawning a subprocess. Commands written for those entrypoints (a--configfile withouttask:, or flat overrides such astotal_epochs=100) are recognised and still run there.eval --model <NAME> --checkpoint <PATH> [options]- Evaluate a trained world model. Generative models (diamond) are scored with FID, FVD, LPIPS, and PSNR, comparing real trajectories (collected from the environment) against generated ones.jepahas no rollout to score, so it runs the paper’s frozen-encoder linear probe instead and takes--root-pathrather than--game; options that belong to the other model are rejected rather than ignored. See Evaluation Guide for details and interpretation.Key options:
--model,-m— model type (currentlydiamond)--checkpoint,-c— path to checkpoint--game,-g— environment name--num-videos— number of trajectories (default 256)--metrics— comma-separated metrics, e.g.fid,fvd,lpips,psnr--record PATH— save real and generated videos--output,-o— save results JSON
play --model <NAME> --checkpoint <PATH> [options]- Interactively play inside a trained world model. Two modes toggled byTAB: REAL (env stepping) and DREAM (model imagination). Press arrow keys / WASD to override the agent’s actions.Key options:
--model,-m— model type (currentlydiamond)--checkpoint,-c— path to checkpoint--game,-g— environment name--deterministic/--stochastic— action selection (default deterministic)--record PATH— save gameplay video--record-fps— video framerate (default 20)
models list- Print the known training entrypoints and (when available) exported model names fromsimulusion.models.
Environment / optional dependencies#
SIMULUSION_HOME - Directory used by
datasets listwhen no path is provided.The following commands require optional packages which may not be installed in all environments:
collect: requiresgym/gymnasiumandnumpy.datasets convert: requiresh5py,numpyand video helpers used by the repository.
Notes and examples#
Example: show version
simulusion version
Example: list environments
simulusion envs list
Example: list datasets in default location
simulusion datasets list
Example: convert a local HDF5 dataset to MP4 files
simulusion datasets convert data/my_dataset.h5 --out-dir /tmp/videos
Example: collect 1000 steps from Pong and save as
pong.npz
simulusion collect --env ALE/Pong-v5 --steps 1000 --out pong.npz
Example: train Genie on a folder of clips with the shared Trainer, in bf16
simulusion train genie data.path=data/clips trainer.precision=bf16 trainer.max_steps=20000
Example: repeat a finished run exactly
simulusion train --config runs/genie_20261020-120000/config.yaml
Example: import a LeRobot dataset and train Dreamer’s world model on it
simulusion datasets import lerobot datasets/pusht data/pusht
simulusion train --config dreamer-wm data.path=data/pusht
Example: run IRIS training with a library YAML config and a dot-list override
simulusion train iris --config simulusion/configs/experiments/iris.yaml total_epochs=100
Example: inspect a composed JEPA config without starting training
simulusion train jepa --config simulusion/configs/experiments/jepa.yaml optimization.epochs=50 --print-config
Example: launch a DIAMOND preset from the unified training CLI
simulusion train diamond --config simulusion/configs/experiments/diamond.yaml preset=small seed=3
Example: evaluate a DIAMOND checkpoint
simulusion eval --model diamond --checkpoint checkpoints/diamond/checkpoint.pt --game Breakout-v5
Example: linear-probe an I-JEPA checkpoint
simulusion eval --model jepa --checkpoint results/jepa/jepa_run-latest.pth.tar \
--root-path /data/imagenet --model-name vit_base --output probe.json
Example: interactively play inside a DIAMOND world model
simulusion play --model diamond --checkpoint checkpoints/diamond/checkpoint.pt --game Breakout-v5 --record gameplay.mp4
Maintaining this page#
If you add or rename CLI commands in simulusion.cli, update this page with the
new usage, examples, and any additional optional dependencies.