How openwam-official/openwam works
OpenWAM is a modular research stack for training World–Action Models and serving their robot-action policies. The main workflow runs robot and human episode data through dataset readers and modality transforms, trains a configurable model, then loads a checkpoint for inference and streams action chunks to a robot controller. The graph also shows the model’s video, action, and language-vision components. README capabilities guide the architecture map; sampled excerpts confirm the trainer, architecture, inference engine, and server roles, but not every internal integration.
Main entry points: architectures WAM architectures · server.py WebSocket server · openwam_trainer.py WAM trainer · dataloader Dataset readers
Components 15
Data preparation
- Dataset readers
openwam/dataloader - Modality transforms
openwam/dataloader/transforms
Model components
- WAM architectures
openwam/model/architectures - Video backbones
openwam/model/video_backbone - Action backbone
openwam/model/action_backbone - VLM backbone
openwam/model/vlm_backbone
Training
- WAM trainer
openwam/train/openwam_trainer.py - Training entry
scripts/train.py - Checkpoint utilities
openwam/train/utils/checkpointing.py
Policy deployment
- Checkpoint loader
openwam/deploy/model_loader.py - Inference engine
openwam/deploy/engine.py - Receding-horizon policy
openwam/deploy/policy.py - WebSocket server
openwam/deploy/server.py
Other components
- Episode data
- Robot controller
Connections 16
- Episode data → Dataset readers: provides episodes
- Training entry → WAM trainer: starts training
- WAM trainer → Dataset readers: builds dataloader
- Dataset readers → Modality transforms: supplies samples
- WAM trainer → WAM architectures: trains model
- WAM architectures → Video backbones: uses video model
- WAM architectures → Action backbone: uses action model
- WAM architectures → VLM backbone: uses language vision
- WAM trainer → Checkpoint utilities: saves state
- WebSocket server → Checkpoint loader: loads checkpoint
- Checkpoint loader → WAM architectures: constructs model
- WebSocket server → Inference engine: handles requests
- WebSocket server → Receding-horizon policy: initializes policy
- Inference engine → WAM architectures: invokes generation
- Robot controller → WebSocket server: sends observations
- WebSocket server → Robot controller: returns actions