# stable-worldmodel **Repository Path**: devdz/stable-worldmodel ## Basic Information - **Project Name**: stable-worldmodel - **Description**: Reliable, minimal and scalable library for evaluating and conducting world model research - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
stable-worldmodel
World model research made simple. From data collection to training and evaluation.
Quick Example | Environments | Installation | Documentation | Contributing | Citation
## Quick Example ```python import stable_worldmodel as swm from stable_worldmodel.data import HDF5Dataset from stable_worldmodel.policy import WorldModelPolicy, PlanConfig from stable_worldmodel.solver import CEMSolver # collect a dataset world = swm.World('swm/PushT-v1', num_envs=8) world.set_policy(your_expert_policy) world.record_dataset(dataset_name='pusht_demo', episodes=100) # load dataset and train your world model dataset = HDF5Dataset(name='pusht_demo', num_steps=16) world_model = ... # your world-model # evaluate with model predictive control solver = CEMSolver(model=world_model, num_samples=300) policy = WorldModelPolicy(solver=solver, config=PlanConfig(horizon=10)) world.set_policy(policy) results = world.evaluate(episodes=50) print(f"Success Rate: {results['success_rate']:.1f}%") ``` stable-worldmodel eases reproducibility by already implementing several baselines: [`scripts/train/prejepa.py`](scripts/train/prejepa.py) reproduces results from the [DINO-WM paper](https://arxiv.org/abs/2411.04983) and [`scripts/train/gcivl.py`](scripts/train/gcivl.py) implements several [goal-conditioned RL algorithms](https://arxiv.org/abs/2410.20092). To foster research in MPC for world models, several planning solvers are already implemented, including zeroth-order ([CEM](stable_worldmodel/solver/cem.py), [MPPI](stable_worldmodel/solver/mppi.py)), gradient-based ([GradientSolver](stable_worldmodel/solver/gd.py), [PGD](stable_worldmodel/solver/discrete_solvers.py)), and constrained gradient approaches ([LagrangianSolver](stable_worldmodel/solver/lagrangian.py)). ### Efficiency We support multiple dataset formats to optimize efficiency: MP4 enables fast and convenient visualization, while HDF5 ensures high-performance data loading, reduces CPU bottlenecks, and improves overall GPU utilization.
GPU utilization for DINO-WM trained on Push-T with a DINOv2-Small backbone.
| | [Environment ID](https://github.com/galilai-group/stable-worldmodel/tree/main/stable_worldmodel/envs) | # FoV | |------------------------------|---------| | swm/PushT-v1 | 16 | | swm/TwoRoom-v1 | 17 | | swm/OGBCube-v0 | 11 | | swm/OGBScene-v0 | 12 | | swm/HumanoidDMControl-v0 | 7 | | swm/CheetahDMControl-v0 | 7 | | swm/HopperDMControl-v0 | 7 | | swm/ReacherDMControl-v0 | 8 | | swm/WalkerDMControl-v0 | 8 | | swm/AcrobotDMControl-v0 | 8 | | swm/PendulumDMControl-v0 | 6 | | swm/CartpoleDMControl-v0 | 6 | | swm/BallInCupDMControl-v0 | 9 | | swm/FingerDMControl-v0 | 10 | | swm/ManipulatorDMControl-v0 | 8 | | swm/QuadrupedDMControl-v0 | 7 | |
| [Solver](https://github.com/galilai-group/stable-worldmodel/tree/main/stable_worldmodel/solver) | Type |
|----------|---|
| Cross-Entropy Method (CEM)| Sampling |
| Improved CEM (iCEM) | Sampling |
| Model Predictive Path Integral (MPPI) | Sampling |
| Gradient Descent (SGD, Adam) | Gradient |
| Projected Gradient Descent (PGD) | Gradient |
| Augmented Lagrangian | Constrained Opt |
| [Baselines](https://github.com/galilai-group/stable-worldmodel/tree/main/scripts/train) | Type | |-------------------|----| | DINO-WM |JEPA| | PLDM |JEPA| | LeWM |JEPA| | GCBC |Behaviour Cloning| | GCIVL |RL| | GCIQL |RL| |