Views
No views yet
robotwin_ahawam task configuration from the
AHA-WAM codebase:configs/task/robotwin_ahawam.yaml1AHA-WAM-RoboTwin2.0/
2├── README.md
3├── config.json
4├── dataset_stats.json
5├── robotwin_ahawam.pt
6└── robotwin_ahawam-flash.ptconfig.json: checkpoint manifest and Hugging Face download-count query file.robotwin_ahawam.pt: AHA-WAM checkpoint trained on RoboTwin2.0-format data.robotwin_ahawam-flash.pt: AHA-WAM-Flash checkpoint trained on RoboTwin2.0-format data, after ODE distillation from AHA-WAM.dataset_stats.json: normalization statistics used by the AHA-WAM processor
for action/state normalization and denormalization.README.md: this model card.configs/task/robotwin_ahawam.yamlcam_high, cam_left_wrist, cam_right_wristaction_video_freq_ratio=8demo_randomizedunseen1# Clone the AHA-WAM GitHub repository, then enter the codebase.
2cd AHA-WAM-release
3
4conda create -n ahawam python=3.10 -y
5conda activate ahawam
6pip install -U pip
7pip install torch==2.7.1+cu128 torchvision==0.22.1+cu128 \
8 --extra-index-url https://download.pytorch.org/whl/cu128
9pip install -e .
10pip install huggingface_hubexport DIFFSYNTH_MODEL_BASE_PATH=/path/to/wan_modelsconfig.json together with the checkpoint and normalization stats so
the Hub can count downloads server-side using the repository's query file:1from huggingface_hub import hf_hub_download
2
3repo_id = "SereneC/AHA-WAM-RoboTwin2.0"
4
5manifest_path = hf_hub_download(
6 repo_id=repo_id,
7 filename="config.json",
8 local_dir="checkpoints/AHA-WAM-RoboTwin2.0",
9)
10ckpt_path = hf_hub_download(
11 repo_id=repo_id,
12 filename="robotwin_ahawam.pt",
13 local_dir="checkpoints/AHA-WAM-RoboTwin2.0",
14)
15stats_path = hf_hub_download(
16 repo_id=repo_id,
17 filename="dataset_stats.json",
18 local_dir="checkpoints/AHA-WAM-RoboTwin2.0",
19)
20
21print("manifest:", manifest_path)
22print("checkpoint:", ckpt_path)
23print("dataset stats:", stats_path)1hf download SereneC/AHA-WAM-RoboTwin2.0 \
2 config.json robotwin_ahawam.pt dataset_stats.json \
3 --local-dir checkpoints/AHA-WAM-RoboTwin2.0transformers.from_pretrained() checkpoint. Load it
with the AHA-WAM codebase by instantiating the Hydra model config and calling
load_checkpoint().1import sys
2from pathlib import Path
3
4import torch
5from hydra import compose, initialize_config_dir
6from hydra.core.global_hydra import GlobalHydra
7from hydra.utils import instantiate
8
9PROJECT_ROOT = Path("/path/to/AHA-WAM-release").resolve()
10sys.path.insert(0, str(PROJECT_ROOT))
11sys.path.insert(0, str(PROJECT_ROOT / "src"))
12
13ckpt_path = PROJECT_ROOT / "checkpoints/AHA-WAM-RoboTwin2.0/robotwin_ahawam.pt"
14
15if GlobalHydra.instance().is_initialized():
16 GlobalHydra.instance().clear()
17
18with initialize_config_dir(
19 version_base="1.3",
20 config_dir=str(PROJECT_ROOT / "configs"),
21):
22 cfg = compose(
23 config_name="sim_robotwin.yaml",
24 overrides=[
25 "task=robotwin_ahawam",
26 "model.load_text_encoder=true",
27 "model.skip_dit_load_from_pretrain=true",
28 "model.action_dit_pretrained_path=null",
29 ],
30 )
31
32device = "cuda"
33model = instantiate(cfg.model, model_dtype=torch.bfloat16, device=device)
34model.load_checkpoint(str(ckpt_path))
35model = model.to(device).eval()
36
37print("Loaded AHA-WAM checkpoint:", ckpt_path)1ROBOTWIN_ROOT=/path/to/RoboTwin
2ln -sfn "$(pwd)/experiments/robotwin/ahawam_policy" \
3 "$ROBOTWIN_ROOT/policy/ahawam_policy"1python experiments/robotwin/run_robotwin_manager.py \
2 task=robotwin_ahawam \
3 ckpt=checkpoints/AHA-WAM-RoboTwin2.0/robotwin_ahawam.pt \
4 EVALUATION.dataset_stats_path=checkpoints/AHA-WAM-RoboTwin2.0/dataset_stats.json \
5 EVALUATION.robotwin_root=/path/to/RoboTwin \
6 MULTIRUN.num_gpus=81# Change the number of GPUs used by the evaluation manager.
2MULTIRUN.num_gpus=<N>
3
4# Select a specific RoboTwin task.
5EVALUATION.task_name=<task_name>
6
7# Change evaluation episodes.
8EVALUATION.eval_num_episodes=<N>1task: robotwin_ahawam
2batch_size: 6
3num_epochs: 5
4learning_rate: 5e-5
5weight_decay: 1e-2
6gradient_accumulation_steps: 1
7model:
8 action_horizon: 64
9 action_chunk_size: 16
10 num_history_frames: 6
11 action_video_read_mode: current_only
12 chunk_kv_editor_num_queries: 32
13 loss:
14 lambda_action_prior: 1.0
15data:
16 train:
17 pretrained_norm_stats: dataset_stats.json
18 val:
19 pretrained_norm_stats: dataset_stats.jsonconfigs/task/robotwin_ahawam.yaml in the
AHA-WAM codebase.dataset_stats.json must be used with the checkpoint for correct action and
state normalization.1@article{cai2026ahawam,
2 title={AHA-WAM: Asynchronous Horizon-Adaptive World-Action Modeling with Observation-Guided Context Routing},
3 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},
4 journal={arXiv preprint arXiv:2606.09811},
5 year={2026}
6}