Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.lancedb.com/llms.txt

Use this file to discover all available pages before exploring further.

Stable World Model is a research platform for collecting data, training world models, and evaluating policies with model-predictive control across standardized environments. The LanceDB integration is built into Stable World Model’s data format registry. Lance is the default backend for collected datasets, so a path ending in .lance gives you an append-friendly LanceDB table with episode-contiguous rows and fast indexed reads. That matters for world model research because the training loop repeatedly samples temporal windows from high-dimensional observations, actions, and rewards. Faster random access means more GPU time is spent training the model instead of waiting on the data loader.

Install

pip install stable-worldmodel
Datasets and checkpoints are stored under $STABLEWM_HOME, which defaults to ~/.stable_worldmodel/.

Collect data into Lance

Stable World Model uses Lance by default when you collect to a .lance path. Replace your_expert_policy with the expert or scripted policy you use to collect demonstrations. Every writer accepts a mode argument such as append, overwrite, or error. The default is append, so re-running collection extends the existing dataset.

Load a Lance dataset for training

The dataset loader autodetects the Lance format from the path. This keeps model code focused on the world model objective while LanceDB handles the storage layout and read path.

Evaluate with model-predictive control

After training a world model on the Lance-backed dataset, Stable World Model can evaluate it with planning solvers such as CEM. Replace world_model with the trained model object from your training loop.

Convert between formats

Stable World Model can also convert between registered dataset formats. For example, you can collect in Lance for fast training reads, then export to the video layout for compact inspection artifacts.

Throughput

The Stable World Model README reports the following PushT benchmark results from scripts/benchmark/compare_h5_lance.py:
FormatSourceCachesamples/sms/step
HDF5localno-cache1,416.145.2
HDF5localcached1,474.043.4
LanceDBlocalno-cache4,814.813.3
LanceDBlocalcached4,431.314.4
Videolocal-1,330.648.1
LanceDBs3no-cache3,183.720.1
LanceDBs3cached3,253.219.7
HDF5s3no-cache9.17,032.5
HDF5s3cached756.584.6
In that benchmark, local LanceDB reached about 3.4x the no-cache throughput of local HDF5, while S3-backed LanceDB reached about 350x the no-cache throughput of S3-backed HDF5. Even with cache enabled, S3-backed LanceDB was about 4.3x faster than S3-backed HDF5. These numbers are reported by the Stable World Model project for its benchmark setup. Treat them as a reproducible directional baseline, not a universal guarantee for every environment, model, or storage configuration.

Storage

The same README reports these local storage sizes for the benchmark dataset:
FormatLocal size
HDF543.12 GB
LanceDB13.31 GB
Video496.29 MB
LanceDB used about 69% less local storage than HDF5 in the reported benchmark, while preserving a table interface that is designed for fast training reads and append-heavy dataset collection.

More resources

Stable World Model README

Installation, quick start, supported formats, benchmarks, environments, solvers, and citation.

Stable World Model docs

Full upstream documentation with tutorials, API references, and guides.