Publish real-world checkpoint and runtime assets
Browse files- README.md +68 -0
- SHA256SUMS +4 -0
- checkpoint_info.json +10 -0
- streamingwam-realworld-runtime-assets.tar.gz +3 -0
- streamingwam_realworld.pt +3 -0
- streamingwam_realworld_model.yaml +60 -0
README.md
CHANGED
|
@@ -1,3 +1,71 @@
|
|
| 1 |
---
|
| 2 |
license: mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: mit
|
| 3 |
+
library_name: pytorch
|
| 4 |
+
tags:
|
| 5 |
+
- robotics
|
| 6 |
+
- streamingwam
|
| 7 |
+
- real-world
|
| 8 |
+
tasks:
|
| 9 |
+
- robotics
|
| 10 |
---
|
| 11 |
+
|
| 12 |
+
# StreamingWAM real-world checkpoint
|
| 13 |
+
|
| 14 |
+
This repository contains the StreamingWAM checkpoint used for the seven-task
|
| 15 |
+
Franka real-robot evaluation. It is separate from the
|
| 16 |
+
[LIBERO simulation checkpoint](https://huggingface.co/rsj2003/StreamingWAM-LIBERO)
|
| 17 |
+
and the [real-world demonstration dataset](https://huggingface.co/datasets/rsj2003/StreamingWAM-RealWorld).
|
| 18 |
+
|
| 19 |
+
## Files
|
| 20 |
+
|
| 21 |
+
- `streamingwam_realworld.pt`: complete model weights (one file);
|
| 22 |
+
- `streamingwam-realworld-runtime-assets.tar.gz`: normalization statistics and cached embeddings for the seven task prompts;
|
| 23 |
+
- `streamingwam_realworld_model.yaml`: model-only deployment configuration;
|
| 24 |
+
- `checkpoint_info.json` and `SHA256SUMS`: artifact metadata and integrity checks.
|
| 25 |
+
|
| 26 |
+
The runtime archive contains `train_split_zscore_stats.json` and
|
| 27 |
+
`text_embeds_cache/`. No training logs or optimizer artifacts are added.
|
| 28 |
+
|
| 29 |
+
The matching implementation and model-only deployment configuration are in
|
| 30 |
+
the public [StreamingWAM repository](https://github.com/renshaojie233/StreamingWAM/tree/main/real_robot).
|
| 31 |
+
|
| 32 |
+
## Download and use
|
| 33 |
+
|
| 34 |
+
From the [StreamingWAM code repository](https://github.com/renshaojie233/StreamingWAM):
|
| 35 |
+
|
| 36 |
+
```bash
|
| 37 |
+
python real_robot/download_assets.py --output checkpoints/streamingwam-realworld
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
The downloader verifies SHA-256 checksums and installs the checkpoint locally
|
| 41 |
+
as `step_030000.pt` for compatibility with the existing runtime. See the
|
| 42 |
+
[real-robot setup guide](https://github.com/renshaojie233/StreamingWAM/tree/main/real_robot)
|
| 43 |
+
for observation preprocessing, shadow-mode inference, and hardware integration.
|
| 44 |
+
|
| 45 |
+
## Contract
|
| 46 |
+
|
| 47 |
+
- control frequency: 15 Hz;
|
| 48 |
+
- cameras: `camera_1`, `camera_3`, `camera_2`;
|
| 49 |
+
- each camera: RGB `224 x 128`, vertically concatenated to `3 x 384 x 224`;
|
| 50 |
+
- image history: five consecutive frames;
|
| 51 |
+
- action prefix: sixteen actually executed native actions;
|
| 52 |
+
- output: sixteen future actions of dimension eight;
|
| 53 |
+
- arm action: `(q[t+1] - q[t]) / 0.2`;
|
| 54 |
+
- gripper action/state: continuous absolute command, `0=closed`, `1=open`;
|
| 55 |
+
- initial warm start: ten denoising steps;
|
| 56 |
+
- rolling update: one denoising substep;
|
| 57 |
+
- supported trained replanning horizons: `K={1,2,4,8,10}`.
|
| 58 |
+
|
| 59 |
+
The released checkpoint is the standard model, not a latency-shift fine-tune.
|
| 60 |
+
No transition blending or trajectory smoothing is part of the model artifact.
|
| 61 |
+
|
| 62 |
+
## Integrity
|
| 63 |
+
|
| 64 |
+
`streamingwam_realworld.pt` is 12,041,739,641 bytes and has SHA-256:
|
| 65 |
+
|
| 66 |
+
```text
|
| 67 |
+
ed68b39a9d7025188e6216a9336a3e265893d360b0c02b91f31629c317d1f66a
|
| 68 |
+
```
|
| 69 |
+
|
| 70 |
+
The Wan 2.2 TI2V 5B base model is not redistributed and must be obtained under
|
| 71 |
+
its original license.
|
SHA256SUMS
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ed68b39a9d7025188e6216a9336a3e265893d360b0c02b91f31629c317d1f66a streamingwam_realworld.pt
|
| 2 |
+
251466fc7be4883f2e4c3196f0c9522e52d5f12123a9cc3eed9cc6d5f78007ed streamingwam-realworld-runtime-assets.tar.gz
|
| 3 |
+
939f27d83c8977cbb4be4367bf0f2b1d32bed0724aac2e84c91693456a17dd3d streamingwam_realworld_model.yaml
|
| 4 |
+
836dbf8578a8ecaa97784bf93da43e95a9ce42ed372ab8185e3ae6ae81f75ef2 checkpoint_info.json
|
checkpoint_info.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "StreamingWAM",
|
| 3 |
+
"domain": "real-world",
|
| 4 |
+
"filename": "streamingwam_realworld.pt",
|
| 5 |
+
"sha256": "ed68b39a9d7025188e6216a9336a3e265893d360b0c02b91f31629c317d1f66a",
|
| 6 |
+
"size_bytes": 12041739641,
|
| 7 |
+
"action_dim": 8,
|
| 8 |
+
"source_release": "realworld-v1",
|
| 9 |
+
"migration": "Unchanged checkpoint moved from GitHub Releases to Hugging Face."
|
| 10 |
+
}
|
streamingwam-realworld-runtime-assets.tar.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:251466fc7be4883f2e4c3196f0c9522e52d5f12123a9cc3eed9cc6d5f78007ed
|
| 3 |
+
size 5120095
|
streamingwam_realworld.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ed68b39a9d7025188e6216a9336a3e265893d360b0c02b91f31629c317d1f66a
|
| 3 |
+
size 12041739641
|
streamingwam_realworld_model.yaml
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
model:
|
| 2 |
+
_target_: fastwam.runtime.create_fastwam_joint
|
| 3 |
+
model_id: Wan-AI/Wan2.2-TI2V-5B
|
| 4 |
+
tokenizer_model_id: Wan-AI/Wan2.1-T2V-1.3B
|
| 5 |
+
tokenizer_max_len: 128
|
| 6 |
+
load_text_encoder: false
|
| 7 |
+
proprio_dim: 8
|
| 8 |
+
redirect_common_files: true
|
| 9 |
+
mot_checkpoint_mixed_attn: false
|
| 10 |
+
action_dit_pretrained_path: null
|
| 11 |
+
skip_dit_load_from_pretrain: true
|
| 12 |
+
num_history_frames: 5
|
| 13 |
+
video_dit_config:
|
| 14 |
+
has_image_input: false
|
| 15 |
+
patch_size: [1, 2, 2]
|
| 16 |
+
in_dim: 48
|
| 17 |
+
hidden_dim: 3072
|
| 18 |
+
ffn_dim: 14336
|
| 19 |
+
freq_dim: 256
|
| 20 |
+
text_dim: 4096
|
| 21 |
+
out_dim: 48
|
| 22 |
+
num_heads: 24
|
| 23 |
+
attn_head_dim: 128
|
| 24 |
+
num_layers: 30
|
| 25 |
+
eps: 1.0e-6
|
| 26 |
+
seperated_timestep: true
|
| 27 |
+
require_clip_embedding: false
|
| 28 |
+
require_vae_embedding: false
|
| 29 |
+
fuse_vae_embedding_in_latents: true
|
| 30 |
+
use_gradient_checkpointing: false
|
| 31 |
+
video_attention_mask_mode: first_frame_causal
|
| 32 |
+
action_conditioned: false
|
| 33 |
+
action_dim: 8
|
| 34 |
+
action_group_causal_mask_mode: group_diagonal
|
| 35 |
+
action_dit_config:
|
| 36 |
+
action_dim: 8
|
| 37 |
+
hidden_dim: 1024
|
| 38 |
+
ffn_dim: 4096
|
| 39 |
+
num_heads: 24
|
| 40 |
+
attn_head_dim: 128
|
| 41 |
+
num_layers: 30
|
| 42 |
+
text_dim: 4096
|
| 43 |
+
freq_dim: 256
|
| 44 |
+
eps: 1.0e-6
|
| 45 |
+
use_gradient_checkpointing: false
|
| 46 |
+
video_scheduler:
|
| 47 |
+
train_shift: 5.0
|
| 48 |
+
infer_shift: 5.0
|
| 49 |
+
num_train_timesteps: 1000
|
| 50 |
+
action_scheduler:
|
| 51 |
+
train_shift: 5.0
|
| 52 |
+
infer_shift: 5.0
|
| 53 |
+
num_train_timesteps: 1000
|
| 54 |
+
loss:
|
| 55 |
+
lambda_action: 1.0
|
| 56 |
+
action_clean_prefix_steps: 16
|
| 57 |
+
sdp_future_action_train_prob: 0.8
|
| 58 |
+
sdp_future_action_steps_choices: [1, 2, 4, 8, 10]
|
| 59 |
+
sdp_future_num_noise_levels: 32
|
| 60 |
+
sdp_future_random_offset: true
|