Downloads · 30 days
21
43% of all-time downloads
SereneC/AHA-WAM-Pretrained
AHA-WAM-Pretrained is a robotics model from SereneC. Use it for the robotics task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
This repository releases RoboCOIN-pretrained checkpoints for AHA-WAM and Fast-WAM. These checkpoints are intended as initialization weights for real-robot fine-tuning and deployment experiments with the public AHA-WAM…
Downloads · 30 days
21
43% of all-time downloads
All-time downloads
49
Public
Repo size
82.9 GB
Likes
0
Public
Click a slice to open those files.
.pt26.7 GB · 100%
From the Hugging Face model README
This repository releases RoboCOIN-pretrained checkpoints for AHA-WAM and Fast-WAM. These checkpoints are intended as initialization weights for real-robot fine-tuning and deployment experiments with the public AHA-WAM codebase.
The released AHA-WAM checkpoint is from training step 27,500, while the Fast-WAM reproduction checkpoint is from training step 45,000. Both were pretrained on a selected subset of RoboCOIN. The goal of this release is to make real-world adaptation easier and to support comparisons requested by the community.
AHA-WAM-Pretrained/
├── README.md
├── config.json
├── AHA-WAM-pretrained.pt
└── Fast-WAM-pretrained.pt
config.json: checkpoint manifest and Hugging Face download-count query file.AHA-WAM-pretrained.pt: AHA-WAM checkpoint pretrained on a RoboCOIN subset.Fast-WAM-pretrained.pt: Fast-WAM checkpoint pretrained on the same
RoboCOIN subset using our reproduction implementation.Approximate file sizes:
| File | Size |
|---|---|
AHA-WAM-pretrained.pt | 13.7 GiB |
Fast-WAM-pretrained.pt | 11.2 GiB |
action_video_freq_ratio=8These are PyTorch checkpoints for the AHA-WAM codebase. They are not
transformers.from_pretrained() checkpoints.
The released Fast-WAM-pretrained.pt is provided for reference and convenience.
It is our reproduction version of Fast-WAM within this codebase. For a fair
method comparison against the original Fast-WAM, please control all variables
carefully and reproduce the original method under matched data, preprocessing,
architecture, training schedule, inference settings, and evaluation protocol.
Install the public AHA-WAM codebase first:
git clone https://github.com/serene-sivy/AHA-WAM.git
cd AHA-WAM
conda create -n ahawam python=3.10 -y
conda activate ahawam
pip install -U pip setuptools wheel
pip install torch==2.7.1+cu128 torchvision==0.22.1+cu128 \
--extra-index-url https://download.pytorch.org/whl/cu128
pip install -e .
AHA-WAM also needs the Wan base components. Follow the project README for the full setup. If the assets are already downloaded, point DiffSynth to them:
export DIFFSYNTH_MODEL_BASE_PATH=/path/to/wan_models
Use huggingface_hub. Download config.json together with the checkpoints so
the Hub can count downloads server-side using the repository's query file:
from huggingface_hub import hf_hub_download
repo_id = "SereneC/AHA-WAM-Pretrained"
manifest = hf_hub_download(
repo_id=repo_id,
filename="config.json",
local_dir="checkpoints/AHA-WAM-Pretrained",
)
aha_ckpt = hf_hub_download(
repo_id=repo_id,
filename="AHA-WAM-pretrained.pt",
local_dir="checkpoints/AHA-WAM-Pretrained",
)
fastwam_ckpt = hf_hub_download(
repo_id=repo_id,
filename="Fast-WAM-pretrained.pt",
local_dir="checkpoints/AHA-WAM-Pretrained",
)
print("Manifest:", manifest)
print("AHA-WAM:", aha_ckpt)
print("Fast-WAM:", fastwam_ckpt)
Or use the CLI:
hf download SereneC/AHA-WAM-Pretrained \
config.json AHA-WAM-pretrained.pt Fast-WAM-pretrained.pt \
--local-dir checkpoints/AHA-WAM-Pretrained
The checkpoints can be used as weight initialization through the training
config's init_checkpoint field. For example, to fine-tune AHA-WAM:
bash scripts/train_zero1.sh 8 \
task=robotwin_ahawam \
model=ahawam \
init_checkpoint=checkpoints/AHA-WAM-Pretrained/AHA-WAM-pretrained.pt
For Fast-WAM:
bash scripts/train_zero1.sh 8 \
task=robotwin_ahawam \
model=fastwam \
init_checkpoint=checkpoints/AHA-WAM-Pretrained/Fast-WAM-pretrained.pt
Replace task=robotwin_ahawam with your downstream real-robot task config and
make sure the processor, action/state dimensions, camera layout, normalization
statistics, and language instruction format match your data.
The checkpoints can also be loaded by instantiating the Hydra model config and
calling load_checkpoint().
import sys
from pathlib import Path
import torch
from hydra import compose, initialize_config_dir
from hydra.core.global_hydra import GlobalHydra
from hydra.utils import instantiate
PROJECT_ROOT = Path("/path/to/AHA-WAM").resolve()
sys.path.insert(0, str(PROJECT_ROOT))
sys.path.insert(0, str(PROJECT_ROOT / "src"))
ckpt_path = PROJECT_ROOT / "checkpoints/AHA-WAM-Pretrained/AHA-WAM-pretrained.pt"
if GlobalHydra.instance().is_initialized():
GlobalHydra.instance().clear()
with initialize_config_dir(version_base="1.3", config_dir=str(PROJECT_ROOT / "configs")):
cfg = compose(
config_name="deploy",
overrides=[
"model=ahawam",
"model.load_text_encoder=true",
"model.skip_dit_load_from_pretrain=true",
"model.action_dit_pretrained_path=null",
],
)
model = instantiate(cfg.model, model_dtype=torch.bfloat16, device="cuda")
model.load_checkpoint(str(ckpt_path))
model = model.cuda().eval()
import sys
from pathlib import Path
import torch
from hydra import compose, initialize_config_dir
from hydra.core.global_hydra import GlobalHydra
from hydra.utils import instantiate
PROJECT_ROOT = Path("/path/to/AHA-WAM").resolve()
sys.path.insert(0, str(PROJECT_ROOT))
sys.path.insert(0, str(PROJECT_ROOT / "src"))
ckpt_path = PROJECT_ROOT / "checkpoints/AHA-WAM-Pretrained/Fast-WAM-pretrained.pt"
if GlobalHydra.instance().is_initialized():
GlobalHydra.instance().clear()
with initialize_config_dir(version_base="1.3", config_dir=str(PROJECT_ROOT / "configs")):
cfg = compose(
config_name="deploy",
overrides=[
"model=fastwam",
"model.load_text_encoder=true",
"model.skip_dit_load_from_pretrain=true",
"model.action_dit_pretrained_path=null",
],
)
model = instantiate(cfg.model, model_dtype=torch.bfloat16, device="cuda")
model.load_checkpoint(str(ckpt_path))
model = model.cuda().eval()
For real-robot deployment, use the deployment utilities in the AHA-WAM repository:
deploy/
├── deploy_example.yml
├── server/wam_policy_server.py
└── client/wam_remote_client_node.py
Start from the example config:
cp deploy/deploy_example.yml deploy/deploy.yml
Set at least:
checkpoint_path: checkpoints/AHA-WAM-Pretrained/AHA-WAM-pretrained.pt
dataset_stats_path: /path/to/your/downstream_dataset_stats.json
project_root: .
hydra_config_name: deploy
task: your_downstream_task
dataset_stats_path should match the downstream real-robot data used for
fine-tuning or deployment. This repository only provides pretrained weights; it
does not define a universal normalization file for every robot setup.
The AHA-WAM code release is under the MIT License unless otherwise noted. Please also follow the licenses and usage terms of upstream dependencies, models, and datasets, including Wan2.2 and RoboCOIN.
If you use these checkpoints, please cite the AHA-WAM project and the upstream datasets or models used in your work.
@article{cai2026ahawam,
title={AHA-WAM: Asynchronous Horizon-Adaptive World-Action Modeling with Observation-Guided Context Routing},
author={Cai, Jisong and Ling, Long and Chu, Shiwei and Liu, Zhongshan and Kang, Jiayue and Liang, Zhixuan and Xu, Wenjie and Mao, Yinan and Zhang, Weinan and Yang, Xiaokang and Ying, Ru and Zheng, Ran and Mu, Yao},
journal={arXiv preprint arXiv:2606.09811},
year={2026}
}