Skip to content
View OpenWAM's full-sized avatar

Block or report OpenWAM

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
OpenWAM/README.md

OpenWAM: An Open Framework
for Composable World-Action Models

Heng Yu*, David D. Yuan*, Juze Zhang*, Changan Chen, Yao Feng,
Michelle Baldonado, Steve Cousins, Li Fei-Fei, Jiajun Wu, Ehsan Adeli

Stanford University
* Equal contribution

Stanford University     Stanford Artificial Intelligence Laboratory     Stanford Vision and Learning Lab     Stanford Translational AI (STAI) Lab     Stanford Robotics Center


arXiv: 2610.07922 Research blog Technical documentation CI Python 3.11 or 3.12 License: AGPL v3

Paper (PDF) · Research blog · Technical documentation · Models · Citation

OpenWAM is an extensible and composable framework for world-action models and the official implementation of our paper. It brings causal robot-video pretraining, video-action policies, and independently trained dynamics models into a shared training and evaluation framework.

OpenWAM robot manipulation teaser

Capabilities

  • Video pretraining: train causal predictors on single-view and multiview robot video.
  • Video-action interaction: configure video-first, action-first, joint, and decoupled generation with shared-transformer or dual-expert architectures.
  • Inverse and forward dynamics: infer actions from supplied video trajectories (IDM), or predict future observations conditioned on actions (FDM).
  • Custom experiments: add datasets, policies, action decoders, and simulators through the extension SDK.

The framework includes LIBERO, RoboTwin, CALVIN, and LeRobot data integrations. See architectures and interaction programs for supported configurations, including generalist joint denoising.

Models and data

Video-pretrained weights are available on Hugging Face. The release includes model weights, a reference configuration, and checksums. Video frontend and text-encoding assets, datasets, and training state are not included.

Policy checkpoints and OpenWAM datasets are being prepared for release. See the artifact guide for release links and setup as these resources become available.

Release roadmap

  • Training and evaluation framework
  • Causal robot-video pretrained weights
  • LIBERO policy checkpoints
  • LIBERO-Long-CF dataset
  • Inverse dynamics (IDM) checkpoints and inference examples

Quickstart

Linux · Python 3.11 or 3.12 · Alpha-stage research software

Install uv, then run a small CPU example:

git clone https://github.com/OpenWAM/OpenWAM.git
cd OpenWAM
uv sync --frozen --group dev --extra train --extra eval

uv run --extra train openwam-sanity \
  --cfg configs/examples/public_tiny_synthetic_contract.yaml \
  --device cpu --max-batches 1 --rollout-steps 1

This checks the installation with synthetic data; no GPU, downloaded weights, or simulator is required. It does not reproduce the paper's results.

Alternatively, install the package from PyPI in a virtual environment:

python -m pip install 'openwam[train,eval]'

See the quickstart guide for a complete train–resume–evaluate example and optional dependencies. For version changes and migration notes, see releases.

Train a policy

Prepare the required data and model assets, then register their paths:

cp configs/local_paths.sample.yaml configs/local_paths.yaml

Fill in the paths required by your configuration. The reference dual-expert LIBERO configuration uses four GPUs and was characterized on four 48 GB GPUs:

uv run --extra train torchrun --standalone --nproc-per-node=4 \
  -m open_wam.cli.train \
  --cfg configs/experiments/dual_expert_libero_joint.yaml \
  --save-root runs/dual-expert-joint \
  --expected-world-size 4

To use video-then-action generation with this configuration, add --set policy_variant.program=video_then_action and choose a new --save-root.

See training and evaluation for checkpoint initialization, resume, dynamics training, and benchmark rollouts.

Documentation

Task Guide
Prepare data and pretrain video models Video pretraining
Configure architectures and interaction programs Model configurations
Set up datasets and simulators Benchmarks and data
Add your own components Extension SDK
Reproduce an experiment Reproducibility

Citation

If you use OpenWAM in your research, please cite our paper:

@article{yu2026openwam,
  title   = {{OpenWAM}: An Open Framework for Composable World-Action Models},
  author  = {Yu, Heng and Yuan, David D. and Zhang, Juze and Chen, Changan and
             Feng, Yao and Baldonado, Michelle and Cousins, Steve and
             Fei-Fei, Li and Wu, Jiajun and Adeli, Ehsan},
  journal = {arXiv preprint arXiv:2610.07922},
  year    = {2026},
  url     = {https://arxiv.org/pdf/2610.07922}
}

The BibTeX entry is also available in CITATION.bib.

Contributing and license

See Contributing for development guidance.

OpenWAM is licensed under AGPL-3.0-only. See NOTICE and Third-party notices for attribution requirements and separately governed components and institutional marks.

Popular repositories Loading

  1. OpenWAM OpenWAM Public

    Official code for "OpenWAM: An Open Framework for Composable World-Action Models" (Stanford University)

    Python 219 12