SereneC commited on
Commit
1e902ec
·
verified ·
1 Parent(s): 58188a8

Add files using upload-large-folder tool

Browse files
InternW0-RoboTwin-clean.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b718314f57c2febb159deb03d92cf9ebba830f7c75920c0b6e34c4903b91f5a2
3
+ size 14705453767
LICENSE ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The W0 Authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ Except for third-party code and files that retain their original license
16
+ headers, this repository is released under the MIT License.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
PROVENANCE.md ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # InternW0 RoboTwin-clean checkpoint provenance
2
+
3
+ ## Selected artifact
4
+
5
+ `InternW0-RoboTwin-clean.pt` is the model-only checkpoint selected for the
6
+ RoboTwin 2.0 Clean2Random release. It is derived from the historical run
7
+ `w0-cln-cj02-s2-64g-dh-0919r5` at step 10,545.
8
+
9
+ The historical source implementation was `ahawam`; the public runtime is `w0`.
10
+ The resolved numerical training contract is preserved in
11
+ `source_training_config.yaml` with private filesystem paths replaced by portable
12
+ environment variables.
13
+
14
+ ## Lineage
15
+
16
+ 1. Heterogeneous InternW0 pretraining at global step 30,000.
17
+ 2. RoboTwin target-domain initialization with `new_domain` action/proprio
18
+ interfaces, seed 42.
19
+ 3. Clean-demonstration posttraining run
20
+ `w0-cln-p30k-cj02-s2-64g-0918r3`, resumed at step 5,000.
21
+ 4. Continued best Clean2Random recipe
22
+ `w0-cln-cj02-s2-64g-dh-0919r5`, selected at step 10,545.
23
+
24
+ The checkpoint embeds `behavior_config`, `training_recipe`,
25
+ `posttrain_statistics`, and `posttrain_provenance`. These fields are also
26
+ exported verbatim to `checkpoint_metadata.json`.
27
+
28
+ ## Training contract
29
+
30
+ - Clean demonstrations only.
31
+ - RoboTwin native joint-space representation.
32
+ - 25 Hz sampling (`sampling_stride=2` from 50 Hz).
33
+ - Every valid native window.
34
+ - ColorJitter: brightness 0.2, contrast 0.2, saturation 0.2, hue 0.
35
+ - Offset 0.
36
+ - Batch size 12 per process.
37
+ - 15 epochs.
38
+ - Learning rate 3e-5, cosine schedule.
39
+ - Seed 42.
40
+ - 37-dimensional canonical action/proprio interface.
41
+ - 14 valid ALOHA joint/gripper slots:
42
+ `[0, 1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 22, 33]`.
43
+ - Action horizon 64, chunk size 16, video plan horizon 96, video/action stride 8.
44
+ - K=8 target soft prompts.
45
+ - Native absolute joint commands at the interval end.
46
+
47
+ The matching normalization file is `normalization.json`.
48
+
49
+ ## Evaluation reference
50
+
51
+ The source resolved evaluation reference is preserved in
52
+ `source_evaluation_config.yaml`. It uses the fixed-period RoboTwin adapter at
53
+ 25 Hz, 10 inference steps, a 64-action horizon, four action chunks per video
54
+ prefill, and 15 episodes per task.
55
+
56
+ The paper-reported RoboTwin 2.0 Clean2Random results are:
57
+
58
+ | Split | Success rate |
59
+ |---|---:|
60
+ | Clean | 83.20% |
61
+ | Randomized (unseen during training) | 68.00% |
62
+ | Average | 75.60% |
63
+
64
+ ## Excluded from this repository
65
+
66
+ The checkpoint package does not include optimizer state, distributed training
67
+ state, logs, RoboTwin data, Wan2.2 files, DINOv3 weights, text caches, or
68
+ simulation checkouts.
README.md ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: pytorch
4
+ pipeline_tag: robotics
5
+ base_model: InternRobotics/InternW0-Base
6
+ tags:
7
+ - robotics
8
+ - world-model
9
+ - robot-learning
10
+ - manipulation
11
+ - flow-matching
12
+ - video-action-model
13
+ - robotwin
14
+ - InternW0
15
+ language:
16
+ - en
17
+ ---
18
+
19
+ # InternW0-RoboTwin-clean
20
+
21
+ [![Paper](https://img.shields.io/badge/Paper-arXiv%202609.27656-b31b1b)](https://arxiv.org/abs/2609.27656)
22
+ [![Project](https://img.shields.io/badge/Project-InternW0-2f80ed)](https://internrobotics.github.io/internw0)
23
+ [![Code](https://img.shields.io/badge/Code-GitHub-181717?logo=github)](https://github.com/InternRobotics/InternW0)
24
+ [![Base model](https://img.shields.io/badge/Base-InternW0--Base-6b7280)](https://huggingface.co/InternRobotics/InternW0-Base)
25
+ [![Downloads last month](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fmodels%2FInternRobotics%2FInternW0-RoboTwin-clean&query=%24.downloads&label=downloads%20last%20month&logo=huggingface)](https://huggingface.co/InternRobotics/InternW0-RoboTwin-clean)
26
+
27
+ ## Model description
28
+
29
+ **InternW0-RoboTwin-clean** is the task-posttrained InternW0 checkpoint for the
30
+ RoboTwin 2.0 **Clean2Random** setting. It is initialized from the heterogeneous
31
+ [InternW0-Base](https://huggingface.co/InternRobotics/InternW0-Base) pretraining
32
+ checkpoint and posttrained only on clean demonstrations. The selected checkpoint
33
+ is then evaluated on clean scenes and unseen randomized scenes.
34
+
35
+ InternW0 couples a slow Wan2.2-TI2V-5B VideoDiT planner with a fast ActionDiT
36
+ executor. Observation-conditioned chunk K/V routing adapts cached future-video
37
+ context to each newly observed state, allowing the model to reuse long-horizon
38
+ predictions while generating responsive action chunks.
39
+
40
+ This is a **native `w0` checkpoint**, not a standalone Transformers model. It is
41
+ intended for RoboTwin evaluation or compatible continued posttraining.
42
+
43
+ ## Files and integrity
44
+
45
+ | File | Purpose | Size | SHA-256 |
46
+ |---|---|---:|---|
47
+ | `InternW0-RoboTwin-clean.pt` | Canonical model-only native checkpoint | 14,705,453,767 bytes | `b718314f57c2febb159deb03d92cf9ebba830f7c75920c0b6e34c4903b91f5a2` |
48
+ | `pytorch_model.bin` | Zero-copy LFS alias used for PyTorch download statistics | Same LFS object | `b718314f57c2febb159deb03d92cf9ebba830f7c75920c0b6e34c4903b91f5a2` |
49
+ | `config.json` | Machine-readable model/download-counting manifest | 1,702 bytes | `82d8a7a6f25fe14720dc7d6e02136fa02fff0f0b2650a29866eacc4edf275347` |
50
+ | `checkpoint_metadata.json` | Embedded behavior/training/statistics/provenance export | 16,176 bytes | `6e4b67d29ca9a369c870f510e9304ffb3e4aec974f6e38a09c35d598c4fbaf54` |
51
+ | `normalization.json` | Matching RoboTwin action/proprio statistics | 4,014 bytes | `31362a24460803c5080ef925b807acbc7af3e08d847c9db222bc2a33c0d96653` |
52
+ | `posttrain_config.yaml` | Portable public-code posttraining config | 1,661 bytes | `109ca7e501c65e4072060ec7477da2a5486f45aed095ece661714ef92f477f88` |
53
+ | `evaluation_config.yaml` | Portable public-code evaluation config | 885 bytes | `89545dbed7a002c3a1e09edf48a3540d30d977e96b89e6fad64ab0b92020fd38` |
54
+ | `source_training_config.yaml` | Historical resolved config with portable paths | 6,175 bytes | `6455e1dda379528fe76d5c85e4161bce651286897567bd55ebe2c45c7e9e4312` |
55
+ | `source_evaluation_config.yaml` | Historical evaluation reference with portable paths | 7,312 bytes | `6b16dc8583a79d69a253f1b3a367aab072c8dcf24737ece784c9a926d807aff3` |
56
+ | `paper_results.json` | Paper-reported Clean2Random result record | 621 bytes | `9396065aded7413f6d4ce0228ac512bb3c97fa0b32157fb8b15f19c1e82ef2cf` |
57
+ | `PROVENANCE.md` | Selection, lineage, training, and evaluation provenance | 2,446 bytes | `0cca6d854f5bf6ee3dccd84128584bdae398f9f02e053c016d9d097bd944680a` |
58
+ | `LICENSE` | MIT license | 1,205 bytes | `b1d3d0160bdd9748bfc4e8acb9ab8fbce7ab725c827fd6fc673261f57aae0306` |
59
+
60
+ `pytorch_model.bin` is a second Git-LFS path to the exact same object as
61
+ `InternW0-RoboTwin-clean.pt`. It does not duplicate the 14.7 GB payload.
62
+
63
+ ## Checkpoint summary
64
+
65
+ - Selected step: `10545`
66
+ - Serialization dtype: `bfloat16`
67
+ - Model-only checkpoint: yes
68
+ - Optimizer state: excluded
69
+ - Tensors: 1,977
70
+ - Parameter elements: 7,352,528,643
71
+ - Source heterogeneous pretraining step: `30000`
72
+ - Target domain: `robotwin_wam/aloha`
73
+ - Target soft prompts: K=8
74
+ - Canonical action/proprio dimensionality: 37
75
+ - Valid ALOHA joint/gripper slots: 14
76
+ - Action horizon: 64
77
+ - Action chunk size: 16
78
+ - Video plan horizon: 96 action ticks
79
+ - Video/action stride: 8
80
+ - History frames: 0
81
+ - Action semantics: native absolute joint command at interval end
82
+
83
+ The checkpoint embeds a schema-v4 `behavior_config`, `training_recipe`,
84
+ `posttrain_statistics`, and `posttrain_provenance`. The public loader performs a
85
+ semantic contract check before loading weights.
86
+
87
+ ## RoboTwin Clean2Random training
88
+
89
+ The retained recipe uses:
90
+
91
+ - clean demonstrations only;
92
+ - native RoboTwin joint-space data;
93
+ - 25 Hz sampling (`sampling_stride=2` from 50 Hz);
94
+ - every valid native window;
95
+ - ColorJitter with brightness 0.2, contrast 0.2, saturation 0.2, and hue 0;
96
+ - action offset 0;
97
+ - batch size 12 per process;
98
+ - 15 epochs;
99
+ - learning rate 3e-5 with cosine decay;
100
+ - seed 42.
101
+
102
+ The matching normalization statistics are in `normalization.json`. The
103
+ historical run resumed from step 5,000 of the preceding clean run and selected
104
+ step 10,545 from the continued best Clean2Random run. See `PROVENANCE.md` for
105
+ the full lineage.
106
+
107
+ ## Evaluation result
108
+
109
+ The paper-reported RoboTwin 2.0 Clean2Random results are:
110
+
111
+ | Split | Success rate |
112
+ |---|---:|
113
+ | Clean | **83.20%** |
114
+ | Randomized, unseen during training | **68.00%** |
115
+ | Average | **75.60%** |
116
+
117
+ The source evaluation reference uses 50 tasks, 15 episodes per task, 10
118
+ inference steps, a 64-action horizon, four action chunks per video prefill, and
119
+ a fixed-period 25 Hz controller. The historical resolved protocol is preserved
120
+ in `source_evaluation_config.yaml`.
121
+
122
+ ## Required external assets
123
+
124
+ This checkpoint is not self-contained. Users must separately obtain and comply
125
+ with the licenses for:
126
+
127
+ ```bash
128
+ hf download Wan-AI/Wan2.2-TI2V-5B --local-dir assets/wan22
129
+ hf download facebook/dinov3-vitb16-pretrain-lvd1689m \
130
+ --local-dir assets/dinov3-vitb16-pretrain-lvd1689m
131
+ ```
132
+
133
+ A RoboTwin checkout, the matching RoboTwin data export, and its UMT5 text cache
134
+ are also required. The repository does not bundle datasets, simulation code,
135
+ Wan2.2 files, or DINOv3 weights.
136
+
137
+ ## Quick start
138
+
139
+ ### 1. Install the public codebase
140
+
141
+ ```bash
142
+ git clone https://github.com/InternRobotics/InternW0.git
143
+ cd InternW0
144
+
145
+ conda create -n w0 python=3.10 -y
146
+ conda activate w0
147
+ pip install -U pip setuptools wheel
148
+ pip install torch==2.7.1 torchvision==0.22.1 \
149
+ --extra-index-url https://download.pytorch.org/whl/cu128
150
+ pip install -e .
151
+ ```
152
+
153
+ ### 2. Download this checkpoint
154
+
155
+ ```bash
156
+ hf download InternRobotics/InternW0-RoboTwin-clean \
157
+ config.json pytorch_model.bin checkpoint_metadata.json \
158
+ normalization.json posttrain_config.yaml evaluation_config.yaml \
159
+ source_training_config.yaml source_evaluation_config.yaml \
160
+ paper_results.json PROVENANCE.md LICENSE \
161
+ --local-dir assets/robotwin
162
+
163
+ mv assets/robotwin/pytorch_model.bin \
164
+ assets/robotwin/InternW0-RoboTwin-clean.pt
165
+ ```
166
+
167
+ ### 3. Run RoboTwin evaluation
168
+
169
+ ```bash
170
+ export W0_WAN_MODEL_DIR="$PWD/assets/wan22"
171
+ export W0_DINO_WEIGHTS="$PWD/assets/dinov3-vitb16-pretrain-lvd1689m"
172
+ export W0_ROBOTWIN_DATA="$PWD/data/robotwin"
173
+ export W0_ROBOTWIN_STATS="$PWD/assets/robotwin/normalization.json"
174
+ export W0_ROBOTWIN_CHECKPOINT="$PWD/assets/robotwin/InternW0-RoboTwin-clean.pt"
175
+ export ROBOTWIN_ROOT="$PWD/external/RoboTwin"
176
+
177
+ python experiments/robotwin/eval_robotwin_single.py \
178
+ EVALUATION.robotwin_root="$ROBOTWIN_ROOT" \
179
+ EVALUATION.task_name=<task> \
180
+ EVALUATION.ckpt="$W0_ROBOTWIN_CHECKPOINT"
181
+ ```
182
+
183
+ For compatible continued posttraining:
184
+
185
+ ```bash
186
+ bash scripts/train_zero1.sh 8 --config-name posttrain_robotwin
187
+ ```
188
+
189
+ ## Download statistics
190
+
191
+ Hugging Face uses library-specific query files for model download statistics.
192
+ For the `pytorch` library, the Hub counts HTTP `GET` and `HEAD` requests to
193
+ `pytorch_model.bin`. This repository provides that path as a zero-copy alias of
194
+ the canonical checkpoint. The badge above reads the public Hub API `downloads`
195
+ field, corresponding to downloads in the last 30 days. Hub analytics are
196
+ aggregated and may lag briefly.
197
+
198
+ ## Intended uses
199
+
200
+ - RoboTwin 2.0 Clean2Random reproduction and extension.
201
+ - Research on world-action models, context routing, and cross-embodiment robot
202
+ learning.
203
+ - Compatible continued posttraining with the public `w0` codebase.
204
+
205
+ ## Limitations
206
+
207
+ - This is a simulation-domain research checkpoint, not a deployed robot
208
+ controller.
209
+ - It requires the public InternW0 codebase, external Wan2.2 and DINOv3 assets,
210
+ RoboTwin data, text caches, and substantial compute.
211
+ - It is not directly compatible with `transformers.AutoModel`.
212
+ - Real-robot use requires independent safety analysis, constrained workspaces,
213
+ and human oversight.
214
+
215
+ ## License
216
+
217
+ The weights and metadata in this repository are released under the
218
+ [MIT License](./LICENSE). Third-party assets obtained separately remain subject
219
+ to their original licenses.
220
+
221
+ ## Citation
222
+
223
+ If you use InternW0, please cite:
224
+
225
+ ```bibtex
226
+ @article{internw0,
227
+ title = {InternW0: A Foundational Physical World Model for Efficient Real-World Interactions},
228
+ author = {Jisong Cai and Yao Mu and Ganlin Yang and Zhe Cao and Zhangzheng Tu and Xing Gao and Kailin Li and Xinyu Zhan and Lixin Yang and Yangkun Zhu and Haoxiang Ma and Ming Zhou and Qiaojun Yu and Yufei Xue and Liqun He and Yifei Yao and Yifan Zhu and Long Ling and Bingqi Jiang and Haoyu Guo and Xueyue Zhu and Bowen Zhou and Bin Zhao and Tianfan Xue and Chunhua Shen and Weinan Zhang},
229
+ journal = {arXiv preprint arXiv:2609.27656},
230
+ year = {2026}
231
+ }
232
+ ```
checkpoint_metadata.json ADDED
@@ -0,0 +1,616 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "file": "InternW0-RoboTwin-clean.pt",
3
+ "source_checkpoint": "/data/shared/wamrsi/jisong/w0/release/robotwin/c2r/step_10545/step_010545.pt",
4
+ "size_bytes": 14705453767,
5
+ "sha256": "b718314f57c2febb159deb03d92cf9ebba830f7c75920c0b6e34c4903b91f5a2",
6
+ "model_only": true,
7
+ "optimizer_state_included": false,
8
+ "step": 10545,
9
+ "torch_dtype": "torch.bfloat16",
10
+ "tensor_count": 1977,
11
+ "parameter_elements": 7352528643,
12
+ "tensor_bytes": 14705057286,
13
+ "behavior_config": {
14
+ "schema_version": 4,
15
+ "num_soft_prompts": 8,
16
+ "domain_configs": [
17
+ {
18
+ "name": "robotwin_wam/aloha",
19
+ "dataset": "robotwin_wam",
20
+ "embodiment": "aloha",
21
+ "action_dim": 37,
22
+ "proprio_dim": 37,
23
+ "action_valid_indices": [
24
+ 0,
25
+ 1,
26
+ 2,
27
+ 3,
28
+ 4,
29
+ 5,
30
+ 16,
31
+ 17,
32
+ 18,
33
+ 19,
34
+ 20,
35
+ 21,
36
+ 22,
37
+ 33
38
+ ],
39
+ "proprio_valid_indices": [
40
+ 0,
41
+ 1,
42
+ 2,
43
+ 3,
44
+ 4,
45
+ 5,
46
+ 16,
47
+ 17,
48
+ 18,
49
+ 19,
50
+ 20,
51
+ 21,
52
+ 22,
53
+ 33
54
+ ],
55
+ "raw_joint_names": [
56
+ "left_waist",
57
+ "left_shoulder",
58
+ "left_elbow",
59
+ "left_forearm_roll",
60
+ "left_wrist_angle",
61
+ "left_wrist_rotate",
62
+ "left_gripper",
63
+ "right_waist",
64
+ "right_shoulder",
65
+ "right_elbow",
66
+ "right_forearm_roll",
67
+ "right_wrist_angle",
68
+ "right_wrist_rotate",
69
+ "right_gripper"
70
+ ],
71
+ "action_semantics": "native_absolute_joint_command_interval_end"
72
+ }
73
+ ],
74
+ "soft_prompt_domains": [
75
+ "robotwin_wam/aloha"
76
+ ],
77
+ "soft_prompt_layout": "per_chunk_prefix",
78
+ "soft_prompt_position_mode": "identity_rope",
79
+ "soft_prompt_timestep_mode": "follow_chunk",
80
+ "observation_encoder": "dino",
81
+ "dino_encoder": {
82
+ "model_name": "dinov3-vitb16-hf",
83
+ "weights_sha256": "1bde6e2cbdb2973afa32f8b000da32c7686c5be6d8e82399ac581f9bb35a1e50",
84
+ "input_resolution": [
85
+ 384,
86
+ 320
87
+ ],
88
+ "feature_dim": 768,
89
+ "patch_size": 16,
90
+ "use_cls_token": false,
91
+ "normalize_features": false,
92
+ "preprocessing": "uint8_or_minus_one_one_to_imagenet_float32_no_resize",
93
+ "weights_hash_format": "hf_config_and_safetensors_v1"
94
+ },
95
+ "architecture": "ahawam_one_way_ovcr",
96
+ "action_video_read_mode": "future",
97
+ "video_cache_mode": "generated_future_last_denoise",
98
+ "action_position_unit": "action_step",
99
+ "video_rope_position_unit": "latent_frame",
100
+ "action_horizon": 64,
101
+ "action_chunk_size": 16,
102
+ "num_history_frames": 0,
103
+ "video_rope_frame_stride": null,
104
+ "video_attention_mask_mode": "first_frame_causal",
105
+ "video_action_conditioned": false,
106
+ "autoregressive_teacher_forcing": true,
107
+ "action_teacher_forcing_mask_mode": "stage1_chunkwise",
108
+ "action_obs_downsample_factor": 1,
109
+ "video_plan_horizon": 96,
110
+ "video_action_stride": 8,
111
+ "vae_temporal_downsample_factor": 4
112
+ },
113
+ "training_recipe": {
114
+ "version": 2,
115
+ "future_training_mode": "idm",
116
+ "max_action_offset": 0,
117
+ "data_offset_config": {
118
+ "train": {
119
+ "max_action_offset": 0,
120
+ "action_horizon": 64,
121
+ "action_chunk_size": 16,
122
+ "action_video_freq_ratio": 8,
123
+ "action_offset_enabled": false,
124
+ "domains": {
125
+ "version": 1,
126
+ "source_fps": 50,
127
+ "target_fps": 25.0,
128
+ "stride": 2,
129
+ "phases": [
130
+ 0,
131
+ 1
132
+ ],
133
+ "action_horizon": 64,
134
+ "action_chunk_size": 16,
135
+ "max_action_offset": 0,
136
+ "video_plan_horizon": 96,
137
+ "num_history_frames": 0,
138
+ "short_episodes": "pad_mask",
139
+ "slots": [
140
+ 0,
141
+ 1,
142
+ 2,
143
+ 3,
144
+ 4,
145
+ 5,
146
+ 16,
147
+ 17,
148
+ 18,
149
+ 19,
150
+ 20,
151
+ 21,
152
+ 22,
153
+ 33
154
+ ],
155
+ "domain": {
156
+ "name": "robotwin_wam/aloha",
157
+ "dataset": "robotwin_wam",
158
+ "embodiment": "aloha",
159
+ "action_dim": 37,
160
+ "proprio_dim": 37,
161
+ "action_valid_indices": [
162
+ 0,
163
+ 1,
164
+ 2,
165
+ 3,
166
+ 4,
167
+ 5,
168
+ 16,
169
+ 17,
170
+ 18,
171
+ 19,
172
+ 20,
173
+ 21,
174
+ 22,
175
+ 33
176
+ ],
177
+ "proprio_valid_indices": [
178
+ 0,
179
+ 1,
180
+ 2,
181
+ 3,
182
+ 4,
183
+ 5,
184
+ 16,
185
+ 17,
186
+ 18,
187
+ 19,
188
+ 20,
189
+ 21,
190
+ 22,
191
+ 33
192
+ ],
193
+ "raw_joint_names": [
194
+ "left_waist",
195
+ "left_shoulder",
196
+ "left_elbow",
197
+ "left_forearm_roll",
198
+ "left_wrist_angle",
199
+ "left_wrist_rotate",
200
+ "left_gripper",
201
+ "right_waist",
202
+ "right_shoulder",
203
+ "right_elbow",
204
+ "right_forearm_roll",
205
+ "right_wrist_angle",
206
+ "right_wrist_rotate",
207
+ "right_gripper"
208
+ ],
209
+ "action_semantics": "native_absolute_joint_command_interval_end"
210
+ },
211
+ "normalization": "bounds_q99_minmax_degenerate_clip5",
212
+ "sigma": 1e-08,
213
+ "camera_layout": "cover_center_crop_main_top_wrists_bottom_384x320",
214
+ "text": "episode_first_instruction_default_prompt_128_wan22ti2v5b",
215
+ "metadata_sha256": "b79ffeee79313dabad593d571cddb0bcf9acd4ee88da2030a39b487afb60e5d8",
216
+ "split_seed": 42,
217
+ "val_set_proportion": 0.01,
218
+ "stats_sha256": "31362a24460803c5080ef925b807acbc7af3e08d847c9db222bc2a33c0d96653",
219
+ "anchor_sampling": "all_valid_native_anchors_two_phases_v1",
220
+ "samples_per_epoch": 539287,
221
+ "color_jitter": {
222
+ "enabled": true,
223
+ "brightness": 0.2,
224
+ "contrast": 0.2,
225
+ "saturation": 0.2,
226
+ "hue": 0.0,
227
+ "version": 1,
228
+ "implementation": "torchvision_float32_rgb_v1",
229
+ "order": [
230
+ "brightness",
231
+ "contrast",
232
+ "saturation",
233
+ "hue"
234
+ ],
235
+ "sharing": "sample_all_frames_and_camera_slots",
236
+ "rng": "numpy_seed_epoch_index_cjit_v1",
237
+ "exclusion": "explicit_missing_camera_mask"
238
+ }
239
+ }
240
+ },
241
+ "val": {
242
+ "max_action_offset": 0,
243
+ "action_horizon": 64,
244
+ "action_chunk_size": 16,
245
+ "action_video_freq_ratio": 8,
246
+ "action_offset_enabled": false,
247
+ "domains": {
248
+ "version": 1,
249
+ "source_fps": 50,
250
+ "target_fps": 25.0,
251
+ "stride": 2,
252
+ "phases": [
253
+ 0,
254
+ 1
255
+ ],
256
+ "action_horizon": 64,
257
+ "action_chunk_size": 16,
258
+ "max_action_offset": 0,
259
+ "video_plan_horizon": 96,
260
+ "num_history_frames": 0,
261
+ "short_episodes": "pad_mask",
262
+ "slots": [
263
+ 0,
264
+ 1,
265
+ 2,
266
+ 3,
267
+ 4,
268
+ 5,
269
+ 16,
270
+ 17,
271
+ 18,
272
+ 19,
273
+ 20,
274
+ 21,
275
+ 22,
276
+ 33
277
+ ],
278
+ "domain": {
279
+ "name": "robotwin_wam/aloha",
280
+ "dataset": "robotwin_wam",
281
+ "embodiment": "aloha",
282
+ "action_dim": 37,
283
+ "proprio_dim": 37,
284
+ "action_valid_indices": [
285
+ 0,
286
+ 1,
287
+ 2,
288
+ 3,
289
+ 4,
290
+ 5,
291
+ 16,
292
+ 17,
293
+ 18,
294
+ 19,
295
+ 20,
296
+ 21,
297
+ 22,
298
+ 33
299
+ ],
300
+ "proprio_valid_indices": [
301
+ 0,
302
+ 1,
303
+ 2,
304
+ 3,
305
+ 4,
306
+ 5,
307
+ 16,
308
+ 17,
309
+ 18,
310
+ 19,
311
+ 20,
312
+ 21,
313
+ 22,
314
+ 33
315
+ ],
316
+ "raw_joint_names": [
317
+ "left_waist",
318
+ "left_shoulder",
319
+ "left_elbow",
320
+ "left_forearm_roll",
321
+ "left_wrist_angle",
322
+ "left_wrist_rotate",
323
+ "left_gripper",
324
+ "right_waist",
325
+ "right_shoulder",
326
+ "right_elbow",
327
+ "right_forearm_roll",
328
+ "right_wrist_angle",
329
+ "right_wrist_rotate",
330
+ "right_gripper"
331
+ ],
332
+ "action_semantics": "native_absolute_joint_command_interval_end"
333
+ },
334
+ "normalization": "bounds_q99_minmax_degenerate_clip5",
335
+ "sigma": 1e-08,
336
+ "camera_layout": "cover_center_crop_main_top_wrists_bottom_384x320",
337
+ "text": "episode_first_instruction_default_prompt_128_wan22ti2v5b",
338
+ "metadata_sha256": "b79ffeee79313dabad593d571cddb0bcf9acd4ee88da2030a39b487afb60e5d8",
339
+ "split_seed": 42,
340
+ "val_set_proportion": 0.01,
341
+ "stats_sha256": "31362a24460803c5080ef925b807acbc7af3e08d847c9db222bc2a33c0d96653",
342
+ "anchor_sampling": "prefer_full_horizon_v1",
343
+ "samples_per_epoch": 128
344
+ }
345
+ }
346
+ },
347
+ "idm_video_cond_noise_prob": 0.5,
348
+ "idm_checkpoint_full_layer": true,
349
+ "idm_checkpoint_layer_stride": 1,
350
+ "video_scheduler": {
351
+ "type": "ahawam.models.wan22.schedulers.scheduler_continuous.WanContinuousFlowMatchScheduler",
352
+ "shift": 5.0,
353
+ "num_train_timesteps": 1000
354
+ },
355
+ "action_scheduler": {
356
+ "type": "ahawam.models.wan22.schedulers.scheduler_continuous.WanContinuousFlowMatchScheduler",
357
+ "shift": 5.0,
358
+ "num_train_timesteps": 1000
359
+ },
360
+ "loss_lambda_video": 1.0,
361
+ "loss_lambda_action_prior": 1.0,
362
+ "action_timestep_mode": "per_chunk",
363
+ "soft_prompt_training": {
364
+ "lr_scale": 1.0,
365
+ "schedule": "per_group_relative_v1",
366
+ "init_std": 0.02
367
+ }
368
+ },
369
+ "posttrain_statistics": {
370
+ "recipe": {
371
+ "version": 1,
372
+ "source_fps": 50,
373
+ "target_fps": 12.5,
374
+ "stride": 4,
375
+ "phases": [
376
+ 0,
377
+ 1,
378
+ 2,
379
+ 3
380
+ ],
381
+ "action_horizon": 64,
382
+ "action_chunk_size": 16,
383
+ "max_action_offset": 15,
384
+ "video_plan_horizon": 96,
385
+ "num_history_frames": 0,
386
+ "short_episodes": "pad_mask",
387
+ "slots": [
388
+ 0,
389
+ 1,
390
+ 2,
391
+ 3,
392
+ 4,
393
+ 5,
394
+ 16,
395
+ 17,
396
+ 18,
397
+ 19,
398
+ 20,
399
+ 21,
400
+ 22,
401
+ 33
402
+ ],
403
+ "domain": {
404
+ "name": "robotwin_wam/aloha",
405
+ "dataset": "robotwin_wam",
406
+ "embodiment": "aloha",
407
+ "action_dim": 37,
408
+ "proprio_dim": 37,
409
+ "action_valid_indices": [
410
+ 0,
411
+ 1,
412
+ 2,
413
+ 3,
414
+ 4,
415
+ 5,
416
+ 16,
417
+ 17,
418
+ 18,
419
+ 19,
420
+ 20,
421
+ 21,
422
+ 22,
423
+ 33
424
+ ],
425
+ "proprio_valid_indices": [
426
+ 0,
427
+ 1,
428
+ 2,
429
+ 3,
430
+ 4,
431
+ 5,
432
+ 16,
433
+ 17,
434
+ 18,
435
+ 19,
436
+ 20,
437
+ 21,
438
+ 22,
439
+ 33
440
+ ],
441
+ "raw_joint_names": [
442
+ "left_waist",
443
+ "left_shoulder",
444
+ "left_elbow",
445
+ "left_forearm_roll",
446
+ "left_wrist_angle",
447
+ "left_wrist_rotate",
448
+ "left_gripper",
449
+ "right_waist",
450
+ "right_shoulder",
451
+ "right_elbow",
452
+ "right_forearm_roll",
453
+ "right_wrist_angle",
454
+ "right_wrist_rotate",
455
+ "right_gripper"
456
+ ],
457
+ "action_semantics": "native_absolute_joint_command_interval_end"
458
+ },
459
+ "normalization": "bounds_q99_minmax_degenerate_clip5",
460
+ "sigma": 1e-08,
461
+ "camera_layout": "cover_center_crop_main_top_wrists_bottom_384x320",
462
+ "text": "episode_first_instruction_default_prompt_128_wan22ti2v5b"
463
+ },
464
+ "metadata_sha256": "b79ffeee79313dabad593d571cddb0bcf9acd4ee88da2030a39b487afb60e5d8",
465
+ "split_seed": 42,
466
+ "val_set_proportion": 0.01,
467
+ "train_episodes": 2472,
468
+ "validation_episodes": 28,
469
+ "position_selection": "union_all_reachable_phase_tick_no_padding",
470
+ "quantile_method": "exact_numpy_linear",
471
+ "action": {
472
+ "q01": [
473
+ -0.9637558460235596,
474
+ -5.257390398583084e-07,
475
+ -2.296771708643064e-05,
476
+ -1.5930664610862733,
477
+ -0.44254571497440337,
478
+ -2.2050026798248292,
479
+ 0.0,
480
+ -0.1566295325756073,
481
+ 0.0,
482
+ -2.81171942333458e-05,
483
+ -1.7002750635147095,
484
+ -1.0270036816596986,
485
+ -1.6663912868499755,
486
+ 0.0
487
+ ],
488
+ "q99": [
489
+ 0.17338556051254272,
490
+ 2.582751655578613,
491
+ 2.4753708839416504,
492
+ 1.325472354888916,
493
+ 1.2205402231216373,
494
+ 1.4509482383728027,
495
+ 1.0,
496
+ 1.0792511796951278,
497
+ 2.602708811759947,
498
+ 2.4975505542754988,
499
+ 1.3120307922363281,
500
+ 1.0698820352554321,
501
+ 2.101373972892743,
502
+ 1.0
503
+ ],
504
+ "minmax_bounds": {},
505
+ "valid_count": [
506
+ 534343,
507
+ 534343,
508
+ 534343,
509
+ 534343,
510
+ 534343,
511
+ 534343,
512
+ 534343,
513
+ 534343,
514
+ 534343,
515
+ 534343,
516
+ 534343,
517
+ 534343,
518
+ 534343,
519
+ 534343
520
+ ]
521
+ },
522
+ "proprio": {
523
+ "q01": [
524
+ -0.9626896333694458,
525
+ -5.257390398583084e-07,
526
+ -2.296771708643064e-05,
527
+ -1.587372796535492,
528
+ -0.43772934675216674,
529
+ -2.146702766418457,
530
+ 0.0,
531
+ -0.1528666913509369,
532
+ 0.0,
533
+ -2.81171942333458e-05,
534
+ -1.6975934505462646,
535
+ -1.0255959033966064,
536
+ -1.6527643203735352,
537
+ 0.0
538
+ ],
539
+ "q99": [
540
+ 0.17338168621063232,
541
+ 2.581955127716058,
542
+ 2.469698667526245,
543
+ 1.3165214133262622,
544
+ 1.2082784199714538,
545
+ 1.4458667039871216,
546
+ 1.0,
547
+ 1.0600751638412476,
548
+ 2.594983887672424,
549
+ 2.489859433174133,
550
+ 1.3023490905761719,
551
+ 1.0461957573890615,
552
+ 2.079715509414667,
553
+ 1.0
554
+ ],
555
+ "minmax_bounds": {},
556
+ "valid_count": [
557
+ 534343,
558
+ 534343,
559
+ 534343,
560
+ 534343,
561
+ 534343,
562
+ 534343,
563
+ 534343,
564
+ 534343,
565
+ 534343,
566
+ 534343,
567
+ 534343,
568
+ 534343,
569
+ 534343,
570
+ 534343
571
+ ]
572
+ }
573
+ },
574
+ "posttrain_provenance": {
575
+ "source": "/data/shared/caijisong/ckpt/robotwin_posttrain/assets/rlh_step30000",
576
+ "global_step": 30000,
577
+ "domain_names": [
578
+ "interndata/franka_panda",
579
+ "interndata/franka_robotiq85",
580
+ "interndata/genie1",
581
+ "interndata/lift2",
582
+ "interndata/split_aloha",
583
+ "interndata/acone",
584
+ "agibotworld/g1_gripper",
585
+ "galaxea/r1lite",
586
+ "ebench/lift2_long_horizon",
587
+ "robodojo/dual_arx_x5",
588
+ "robomind/agilex",
589
+ "robomind/franka",
590
+ "robomind/franka_fr3_dual",
591
+ "robomind/ur",
592
+ "robocoin/agibot_g1_profile5",
593
+ "robocoin/agibot_g1_profile6",
594
+ "robocoin/cobot_magic_profile7",
595
+ "robocoin/galbot_g1",
596
+ "robocoin/r1lite",
597
+ "robocoin/rmc_aida_l",
598
+ "robocoin/split_aloha_profile20",
599
+ "robocoin/tianqin_a2",
600
+ "agibotworld/g1_tactile",
601
+ "ebench/lift2_simple_pnp",
602
+ "ebench/lift2_teleop_tasks",
603
+ "robocoin/cobot_magic_profile8",
604
+ "robocoin/cobot_magic_profile9",
605
+ "robocoin/cobot_magic_profile10",
606
+ "robocoin/cobot_magic_profile11",
607
+ "robocoin/split_aloha_profile21"
608
+ ],
609
+ "source_format": "rlh-fastwam-canonical-2",
610
+ "source_checkpoint": "/nvme/datahub/tmp/caozhe/aha-wam-pretrain/w0-37d-sixsrc-b16-s43-384gpu-bf16-a40-20260917-r5-proprio-sharded/checkpoints/dcp/30000",
611
+ "strategy": "new_domain",
612
+ "seed": 42,
613
+ "proprio_init": "new_domain",
614
+ "proprio_source_domain": null
615
+ }
616
+ }
config.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "internw0",
3
+ "model_name": "InternW0-RoboTwin-clean",
4
+ "task": "RoboTwin 2.0 Clean2Random posttraining",
5
+ "base_model": "InternRobotics/InternW0-Base",
6
+ "architecture": {
7
+ "name": "ahawam_one_way_ovcr",
8
+ "public_runtime": "w0",
9
+ "video_expert": "Wan2.2-TI2V-5B VideoDiT",
10
+ "action_expert": "ActionDiT",
11
+ "context_routing": "observation-conditioned chunk K/V editor",
12
+ "objective": "video/action continuous flow matching"
13
+ },
14
+ "weight_file": "InternW0-RoboTwin-clean.pt",
15
+ "weight_alias_file": "pytorch_model.bin",
16
+ "weight_format": "native PyTorch checkpoint with embedded InternW0 behavior contract",
17
+ "weight_size_bytes": 14705453767,
18
+ "weight_sha256": "b718314f57c2febb159deb03d92cf9ebba830f7c75920c0b6e34c4903b91f5a2",
19
+ "step": 10545,
20
+ "torch_dtype": "bfloat16",
21
+ "runtime": {
22
+ "code": "https://github.com/InternRobotics/InternW0",
23
+ "loader": "native w0 checkpoint loader",
24
+ "transformers_compatible": false
25
+ },
26
+ "target_domain": "robotwin_wam/aloha",
27
+ "source_pretraining_step": 30000,
28
+ "normalization_file": "normalization.json",
29
+ "metadata_file": "checkpoint_metadata.json",
30
+ "posttrain_config_file": "posttrain_config.yaml",
31
+ "source_training_config_file": "source_training_config.yaml",
32
+ "source_evaluation_config_file": "source_evaluation_config.yaml",
33
+ "download_counting": {
34
+ "library": "pytorch",
35
+ "query_file": "pytorch_model.bin",
36
+ "query_file_alias_of": "InternW0-RoboTwin-clean.pt",
37
+ "policy": "Hugging Face PyTorch model download statistics",
38
+ "note": "HTTP GET and HEAD requests to pytorch_model.bin are counted server-side. The alias points to the same LFS object as the canonical checkpoint."
39
+ }
40
+ }
evaluation_config.yaml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - posttrain_robotwin
4
+ - _self_
5
+
6
+ ckpt: ${oc.env:W0_ROBOTWIN_CHECKPOINT,null}
7
+ gpu_id: 0
8
+ model:
9
+ load_text_encoder: true
10
+
11
+ EVALUATION:
12
+ robotwin_root: ${oc.env:ROBOTWIN_ROOT,external/RoboTwin}
13
+ policy_name: w0_policy
14
+ task_name: null
15
+ task_config: demo_randomized
16
+ instruction_type: unseen
17
+ eval_num_episodes: 15
18
+ output_dir: ${oc.env:W0_OUTPUT_DIR,outputs}/robotwin/evaluation/${now:%Y%m%d_%H%M%S}
19
+ action_horizon: 64
20
+ chunks_per_video_prefill: 4
21
+ num_inference_steps: 10
22
+ sigma_shift: null
23
+ text_cfg_scale: 1.0
24
+ negative_prompt: ""
25
+ rand_device: cpu
26
+ tiled: false
27
+ timing_enabled: false
28
+ training_config: ${oc.env:W0_ROBOTWIN_TRAINING_CONFIG,null}
29
+ control_mode: fixed_period
30
+ target_fps: 25.0
31
+ step_limit_reference_fps: 12.5
32
+ dataset_stats_path: null
33
+ device: cuda
34
+
35
+ MULTIRUN:
36
+ enabled: false
37
+ num_gpus: 8
38
+ max_tasks_per_gpu: 1
normalization.json ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": {
3
+ "version": 1,
4
+ "source_fps": 50,
5
+ "target_fps": 12.5,
6
+ "stride": 4,
7
+ "phases": [
8
+ 0,
9
+ 1,
10
+ 2,
11
+ 3
12
+ ],
13
+ "action_horizon": 64,
14
+ "action_chunk_size": 16,
15
+ "max_action_offset": 15,
16
+ "video_plan_horizon": 96,
17
+ "num_history_frames": 0,
18
+ "short_episodes": "pad_mask",
19
+ "slots": [
20
+ 0,
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ 5,
26
+ 16,
27
+ 17,
28
+ 18,
29
+ 19,
30
+ 20,
31
+ 21,
32
+ 22,
33
+ 33
34
+ ],
35
+ "domain": {
36
+ "name": "robotwin_wam/aloha",
37
+ "dataset": "robotwin_wam",
38
+ "embodiment": "aloha",
39
+ "action_dim": 37,
40
+ "proprio_dim": 37,
41
+ "action_valid_indices": [
42
+ 0,
43
+ 1,
44
+ 2,
45
+ 3,
46
+ 4,
47
+ 5,
48
+ 16,
49
+ 17,
50
+ 18,
51
+ 19,
52
+ 20,
53
+ 21,
54
+ 22,
55
+ 33
56
+ ],
57
+ "proprio_valid_indices": [
58
+ 0,
59
+ 1,
60
+ 2,
61
+ 3,
62
+ 4,
63
+ 5,
64
+ 16,
65
+ 17,
66
+ 18,
67
+ 19,
68
+ 20,
69
+ 21,
70
+ 22,
71
+ 33
72
+ ],
73
+ "raw_joint_names": [
74
+ "left_waist",
75
+ "left_shoulder",
76
+ "left_elbow",
77
+ "left_forearm_roll",
78
+ "left_wrist_angle",
79
+ "left_wrist_rotate",
80
+ "left_gripper",
81
+ "right_waist",
82
+ "right_shoulder",
83
+ "right_elbow",
84
+ "right_forearm_roll",
85
+ "right_wrist_angle",
86
+ "right_wrist_rotate",
87
+ "right_gripper"
88
+ ],
89
+ "action_semantics": "native_absolute_joint_command_interval_end"
90
+ },
91
+ "normalization": "bounds_q99_minmax_degenerate_clip5",
92
+ "sigma": 1e-08,
93
+ "camera_layout": "cover_center_crop_main_top_wrists_bottom_384x320",
94
+ "text": "episode_first_instruction_default_prompt_128_wan22ti2v5b"
95
+ },
96
+ "metadata_sha256": "b79ffeee79313dabad593d571cddb0bcf9acd4ee88da2030a39b487afb60e5d8",
97
+ "split_seed": 42,
98
+ "val_set_proportion": 0.01,
99
+ "train_episodes": 2472,
100
+ "validation_episodes": 28,
101
+ "position_selection": "union_all_reachable_phase_tick_no_padding",
102
+ "quantile_method": "exact_numpy_linear",
103
+ "action": {
104
+ "q01": [
105
+ -0.9637558460235596,
106
+ -5.257390398583084e-07,
107
+ -2.296771708643064e-05,
108
+ -1.5930664610862733,
109
+ -0.44254571497440337,
110
+ -2.2050026798248292,
111
+ 0.0,
112
+ -0.1566295325756073,
113
+ 0.0,
114
+ -2.81171942333458e-05,
115
+ -1.7002750635147095,
116
+ -1.0270036816596986,
117
+ -1.6663912868499755,
118
+ 0.0
119
+ ],
120
+ "q99": [
121
+ 0.17338556051254272,
122
+ 2.582751655578613,
123
+ 2.4753708839416504,
124
+ 1.325472354888916,
125
+ 1.2205402231216373,
126
+ 1.4509482383728027,
127
+ 1.0,
128
+ 1.0792511796951278,
129
+ 2.602708811759947,
130
+ 2.4975505542754988,
131
+ 1.3120307922363281,
132
+ 1.0698820352554321,
133
+ 2.101373972892743,
134
+ 1.0
135
+ ],
136
+ "minmax_bounds": {},
137
+ "valid_count": [
138
+ 534343,
139
+ 534343,
140
+ 534343,
141
+ 534343,
142
+ 534343,
143
+ 534343,
144
+ 534343,
145
+ 534343,
146
+ 534343,
147
+ 534343,
148
+ 534343,
149
+ 534343,
150
+ 534343,
151
+ 534343
152
+ ]
153
+ },
154
+ "proprio": {
155
+ "q01": [
156
+ -0.9626896333694458,
157
+ -5.257390398583084e-07,
158
+ -2.296771708643064e-05,
159
+ -1.587372796535492,
160
+ -0.43772934675216674,
161
+ -2.146702766418457,
162
+ 0.0,
163
+ -0.1528666913509369,
164
+ 0.0,
165
+ -2.81171942333458e-05,
166
+ -1.6975934505462646,
167
+ -1.0255959033966064,
168
+ -1.6527643203735352,
169
+ 0.0
170
+ ],
171
+ "q99": [
172
+ 0.17338168621063232,
173
+ 2.581955127716058,
174
+ 2.469698667526245,
175
+ 1.3165214133262622,
176
+ 1.2082784199714538,
177
+ 1.4458667039871216,
178
+ 1.0,
179
+ 1.0600751638412476,
180
+ 2.594983887672424,
181
+ 2.489859433174133,
182
+ 1.3023490905761719,
183
+ 1.0461957573890615,
184
+ 2.079715509414667,
185
+ 1.0
186
+ ],
187
+ "minmax_bounds": {},
188
+ "valid_count": [
189
+ 534343,
190
+ 534343,
191
+ 534343,
192
+ 534343,
193
+ 534343,
194
+ 534343,
195
+ 534343,
196
+ 534343,
197
+ 534343,
198
+ 534343,
199
+ 534343,
200
+ 534343,
201
+ 534343,
202
+ 534343
203
+ ]
204
+ }
205
+ }
paper_results.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmark": "RoboTwin 2.0 Clean2Random",
3
+ "paper_reported": true,
4
+ "source": "InternW0 paper, Table 4 (arXiv:2609.27656)",
5
+ "metrics": {
6
+ "clean_success_rate_percent": 83.20,
7
+ "randomized_success_rate_percent": 68.00,
8
+ "average_success_rate_percent": 75.60
9
+ },
10
+ "training_setting": "posttrained only on clean demonstrations; evaluated on clean and unseen randomized scenes",
11
+ "reference_evaluation": {
12
+ "tasks": 50,
13
+ "episodes_per_task": 15,
14
+ "inference_steps": 10,
15
+ "action_horizon": 64,
16
+ "chunks_per_video_prefill": 4,
17
+ "control_mode": "fixed_period",
18
+ "target_fps": 25.0
19
+ }
20
+ }
posttrain_config.yaml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - train
4
+ - override /data: robotwin
5
+ - override /model: w0
6
+ - _self_
7
+
8
+ posttrain_required: true
9
+ posttrain_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
10
+ init_checkpoint: ${oc.env:W0_ROBOTWIN_CHECKPOINT,checkpoints/robotwin-clean.pt}
11
+ resume: null
12
+ seed: 42
13
+ model:
14
+ proprio_dim: 37
15
+ action_horizon: 64
16
+ action_chunk_size: 16
17
+ max_action_offset: 0
18
+ num_history_frames: 0
19
+ video_plan_horizon: 96
20
+ video_action_stride: 8
21
+ action_dit_config:
22
+ action_dim: 37
23
+ num_soft_prompts: 8
24
+ soft_prompt_domains: [robotwin_wam/aloha]
25
+ domain_configs:
26
+ - name: robotwin_wam/aloha
27
+ dataset: robotwin_wam
28
+ embodiment: aloha
29
+ action_dim: 37
30
+ proprio_dim: 37
31
+ action_valid_indices: [0, 1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 22, 33]
32
+ proprio_valid_indices: [0, 1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 21, 22, 33]
33
+ raw_joint_names: [left_waist, left_shoulder, left_elbow, left_forearm_roll, left_wrist_angle, left_wrist_rotate, left_gripper, right_waist, right_shoulder, right_elbow, right_forearm_roll, right_wrist_angle, right_wrist_rotate, right_gripper]
34
+ action_semantics: native_absolute_joint_command_interval_end
35
+
36
+ batch_size: 12
37
+ gradient_accumulation_steps: 1
38
+ learning_rate: 3.0e-5
39
+ soft_prompt_lr_scale: 1.0
40
+ num_epochs: 15
41
+ num_workers: 4
42
+ history_aware_batching: false
43
+ optimizer_group_max_numel: 200000000
44
+ save_every: 2500
45
+ eval_every: 500
46
+ log_every: 10
47
+ keep_training_states: 1
48
+ checkpoint_min_free_gib: 128
49
+ freeze_video_dit: false
50
+ output_dir: ${oc.env:W0_OUTPUT_DIR,outputs}/robotwin/${now:%Y%m%d_%H%M%S}
51
+ wandb:
52
+ name: internw0_robotwin_clean_c2r
source_evaluation_config.yaml ADDED
@@ -0,0 +1,270 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Historical resolved RoboTwin evaluation reference for step 10545.
2
+ # Private filesystem paths are normalized to portable environment variables;
3
+ # protocol values are unchanged.
4
+
5
+ output_dir: /data/shared/caijisong/ckpt/robotwin_posttrain/runs/${now:%Y-%m-%d}_${now:%H-%M-%S}
6
+ batch_size: 2
7
+ num_workers: 4
8
+ gc_collect_every: 1
9
+ lr_scheduler_type: cosine
10
+ learning_rate: 1.0e-05
11
+ soft_prompt_lr_scale: 1.0
12
+ num_epochs: 10
13
+ max_steps: null
14
+ log_every: 10
15
+ save_every: 1000
16
+ eval_every: 500
17
+ eval_num_inference_steps: 10
18
+ gradient_accumulation_steps: 1
19
+ mixed_precision: bf16
20
+ seed: 42
21
+ max_grad_norm: 1.0
22
+ weight_decay: 0.0
23
+ freeze_video_dit: false
24
+ resume: null
25
+ init_checkpoint: null
26
+ init_soft_prompts: false
27
+ resume_global_batch_size: null
28
+ wandb:
29
+ enabled: false
30
+ workspace: null
31
+ project: ahawam
32
+ name: robotwin_posttrain_new_domain_12p5hz
33
+ group: null
34
+ mode: online
35
+ data:
36
+ train:
37
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainDataset
38
+ dataset_root: ${oc.env:W0_ROBOTWIN_DATA,data/robotwin}
39
+ is_training_set: true
40
+ samples_per_epoch: null
41
+ seed: 42
42
+ val_set_proportion: 0.01
43
+ pretrained_norm_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
44
+ max_action_offset: 0
45
+ action_horizon: 64
46
+ action_chunk_size: 16
47
+ video_plan_horizon: 96
48
+ action_video_freq_ratio: 8
49
+ sampling_stride: 2
50
+ color_jitter:
51
+ enabled: true
52
+ brightness: 0.2
53
+ contrast: 0.2
54
+ saturation: 0.2
55
+ hue: 0.0
56
+ processor:
57
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainProcessor
58
+ stats_path: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
59
+ epoch_sampling: all_valid_windows
60
+ val:
61
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainDataset
62
+ dataset_root: ${oc.env:W0_ROBOTWIN_DATA,data/robotwin}
63
+ is_training_set: false
64
+ samples_per_epoch: 128
65
+ seed: 42
66
+ val_set_proportion: 0.01
67
+ pretrained_norm_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
68
+ max_action_offset: 0
69
+ action_horizon: 64
70
+ action_chunk_size: 16
71
+ video_plan_horizon: 96
72
+ action_video_freq_ratio: 8
73
+ sampling_stride: 2
74
+ processor:
75
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainProcessor
76
+ stats_path: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
77
+ color_jitter:
78
+ enabled: true
79
+ brightness: 0.2
80
+ contrast: 0.2
81
+ saturation: 0.2
82
+ hue: 0.0
83
+ model:
84
+ _target_: w0.runtime.create_w0
85
+ model_id: Wan-AI/Wan2.2-TI2V-5B
86
+ tokenizer_model_id: Wan-AI/Wan2.1-T2V-1.3B
87
+ tokenizer_max_len: 128
88
+ load_text_encoder: false
89
+ proprio_dim: 37
90
+ redirect_common_files: true
91
+ mot_checkpoint_mixed_attn: true
92
+ action_dit_pretrained_path: null
93
+ skip_dit_load_from_pretrain: true
94
+ legacy_checkpoint_config: null
95
+ observation_encoder: dino
96
+ dino_config:
97
+ model_name: dinov3-vitb16-hf
98
+ weights_path: ${oc.env:W0_DINO_WEIGHTS,assets/dinov3-vitb16-pretrain-lvd1689m}
99
+ input_resolution:
100
+ - 384
101
+ - 320
102
+ feature_dim: 768
103
+ patch_size: 16
104
+ use_cls_token: false
105
+ normalize_features: false
106
+ encode_microbatch_size: 16
107
+ checkpoint_observation_encoder_adapt: false
108
+ action_horizon: 64
109
+ action_chunk_size: 16
110
+ max_action_offset: 0
111
+ action_train_timestep_mode: per_chunk
112
+ future_training_mode: idm
113
+ idm_video_cond_noise_prob: 0.5
114
+ idm_checkpoint_full_layer: true
115
+ idm_checkpoint_layer_stride: 1
116
+ action_obs_downsample_factor: 1
117
+ chunk_kv_editor_num_queries: 32
118
+ num_history_frames: 0
119
+ action_video_read_mode: future
120
+ video_rope_frame_stride: 1
121
+ video_dit_config:
122
+ compact_timestep_embedding: true
123
+ has_image_input: false
124
+ patch_size:
125
+ - 1
126
+ - 2
127
+ - 2
128
+ in_dim: 48
129
+ hidden_dim: 3072
130
+ ffn_dim: 14336
131
+ freq_dim: 256
132
+ text_dim: 4096
133
+ out_dim: 48
134
+ num_heads: 24
135
+ attn_head_dim: 128
136
+ num_layers: 30
137
+ eps: 1.0e-06
138
+ seperated_timestep: true
139
+ require_clip_embedding: false
140
+ require_vae_embedding: false
141
+ fuse_vae_embedding_in_latents: true
142
+ use_gradient_checkpointing: true
143
+ video_attention_mask_mode: first_frame_causal
144
+ action_conditioned: false
145
+ action_dim: 37
146
+ action_group_causal_mask_mode: group_diagonal
147
+ action_dit_config:
148
+ num_soft_prompts: 8
149
+ soft_prompt_domains:
150
+ - robotwin_wam/aloha
151
+ soft_prompt_init_std: 0.02
152
+ domain_configs:
153
+ - name: robotwin_wam/aloha
154
+ dataset: robotwin_wam
155
+ embodiment: aloha
156
+ action_dim: 37
157
+ proprio_dim: 37
158
+ action_valid_indices:
159
+ - 0
160
+ - 1
161
+ - 2
162
+ - 3
163
+ - 4
164
+ - 5
165
+ - 16
166
+ - 17
167
+ - 18
168
+ - 19
169
+ - 20
170
+ - 21
171
+ - 22
172
+ - 33
173
+ proprio_valid_indices:
174
+ - 0
175
+ - 1
176
+ - 2
177
+ - 3
178
+ - 4
179
+ - 5
180
+ - 16
181
+ - 17
182
+ - 18
183
+ - 19
184
+ - 20
185
+ - 21
186
+ - 22
187
+ - 33
188
+ raw_joint_names:
189
+ - left_waist
190
+ - left_shoulder
191
+ - left_elbow
192
+ - left_forearm_roll
193
+ - left_wrist_angle
194
+ - left_wrist_rotate
195
+ - left_gripper
196
+ - right_waist
197
+ - right_shoulder
198
+ - right_elbow
199
+ - right_forearm_roll
200
+ - right_wrist_angle
201
+ - right_wrist_rotate
202
+ - right_gripper
203
+ action_semantics: native_absolute_joint_command_interval_end
204
+ action_dim: 37
205
+ hidden_dim: 1024
206
+ ffn_dim: 4096
207
+ num_heads: 24
208
+ attn_head_dim: 128
209
+ num_layers: 30
210
+ text_dim: 4096
211
+ freq_dim: 256
212
+ eps: 1.0e-06
213
+ autoregressive_teacher_forcing: true
214
+ action_chunk_size: 16
215
+ action_teacher_forcing_mask_mode: stage1_chunkwise
216
+ use_gradient_checkpointing: true
217
+ video_scheduler:
218
+ train_shift: 5.0
219
+ infer_shift: 5.0
220
+ num_train_timesteps: 1000
221
+ action_scheduler:
222
+ train_shift: 5.0
223
+ infer_shift: 5.0
224
+ num_train_timesteps: 1000
225
+ loss:
226
+ lambda_action: 1.0
227
+ lambda_action_prior: 1.0
228
+ video_plan_horizon: 96
229
+ video_action_stride: 8
230
+ video_plan_steps: 10
231
+ domain_registry_path: null
232
+ posttrain_required: true
233
+ posttrain_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
234
+ ckpt: ${oc.env:W0_ROBOTWIN_CHECKPOINT,InternW0-RoboTwin-clean.pt}
235
+ gpu_id: 0
236
+ EVALUATION:
237
+ robotwin_root: ${oc.env:ROBOTWIN_ROOT,external/RoboTwin}
238
+ policy_name: ahawam_policy
239
+ task_name: null
240
+ task_config: demo_randomized
241
+ instruction_type: unseen
242
+ eval_num_episodes: 15
243
+ output_dir: ${oc.env:W0_OUTPUT_DIR,outputs}/robotwin/evaluation/source_step_10545
244
+ action_horizon: 64
245
+ chunks_per_video_prefill: 4
246
+ num_inference_steps: 10
247
+ sigma_shift: null
248
+ text_cfg_scale: 1.0
249
+ negative_prompt: ''
250
+ rand_device: cpu
251
+ tiled: false
252
+ timing_enabled: false
253
+ training_config: training_config.yaml
254
+ control_mode: fixed_period
255
+ target_fps: 25.0
256
+ step_limit_reference_fps: 12.5
257
+ dataset_stats_path: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
258
+ prompt_template: 'A video recorded from a robot''s point of view executing the following
259
+ instruction: {task}'
260
+ dino_weights_path: ${oc.env:W0_DINO_WEIGHTS,assets/dinov3-vitb16-pretrain-lvd1689m}
261
+ model_id: Wan-AI/Wan2.2-TI2V-5B
262
+ tokenizer_model_id: Wan-AI/Wan2.1-T2V-1.3B
263
+ device: cuda
264
+ training_config_sha256: 6b8c8129cfea185d9b2938f629b4384829b27d22fb6ba7026c6e1b0fed36529d
265
+ sampling_stride: 2
266
+ text_cache_dir: ${oc.env:W0_ROBOTWIN_DATA,data/robotwin}/text_embeds_cache
267
+ MULTIRUN:
268
+ enabled: false
269
+ num_gpus: 4
270
+ max_tasks_per_gpu: 1
source_training_config.yaml ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Historical resolved RoboTwin Clean2Random training config.
2
+ # Private filesystem paths are normalized to portable environment variables;
3
+ # numerical and training values are unchanged.
4
+
5
+ output_dir: ${oc.env:W0_OUTPUT_DIR,outputs}/robotwin/source_0919r5
6
+ batch_size: 12
7
+ num_workers: 4
8
+ gc_collect_every: 1
9
+ lr_scheduler_type: cosine
10
+ learning_rate: 3.0e-05
11
+ soft_prompt_lr_scale: 1.0
12
+ num_epochs: 15
13
+ max_steps: null
14
+ log_every: 10
15
+ save_every: 2500
16
+ keep_training_states: 1
17
+ checkpoint_min_free_gib: 128
18
+ eval_every: 500
19
+ eval_num_inference_steps: 10
20
+ gradient_accumulation_steps: 1
21
+ mixed_precision: bf16
22
+ seed: 42
23
+ max_grad_norm: 1.0
24
+ weight_decay: 0.0
25
+ freeze_video_dit: false
26
+ resume: ${oc.env:W0_ROBOTWIN_SOURCE_RESUME_STATE,checkpoints/source/step_005000}
27
+ init_checkpoint: null
28
+ init_soft_prompts: false
29
+ resume_global_batch_size: null
30
+ wandb:
31
+ enabled: false
32
+ workspace: null
33
+ project: ahawam
34
+ name: w0-cln-cj02-s2-64g-dh-0919r5
35
+ group: null
36
+ mode: online
37
+ data:
38
+ train:
39
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainDataset
40
+ dataset_root: ${oc.env:W0_ROBOTWIN_DATA,data/robotwin}
41
+ is_training_set: true
42
+ samples_per_epoch: null
43
+ seed: 42
44
+ val_set_proportion: 0.01
45
+ pretrained_norm_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
46
+ max_action_offset: 0
47
+ action_horizon: 64
48
+ action_chunk_size: 16
49
+ video_plan_horizon: 96
50
+ action_video_freq_ratio: 8
51
+ sampling_stride: 2
52
+ color_jitter:
53
+ enabled: true
54
+ brightness: 0.2
55
+ contrast: 0.2
56
+ saturation: 0.2
57
+ hue: 0.0
58
+ processor:
59
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainProcessor
60
+ stats_path: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
61
+ epoch_sampling: all_valid_windows
62
+ val:
63
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainDataset
64
+ dataset_root: ${oc.env:W0_ROBOTWIN_DATA,data/robotwin}
65
+ is_training_set: false
66
+ samples_per_epoch: 128
67
+ seed: 42
68
+ val_set_proportion: 0.01
69
+ pretrained_norm_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
70
+ max_action_offset: 0
71
+ action_horizon: 64
72
+ action_chunk_size: 16
73
+ video_plan_horizon: 96
74
+ action_video_freq_ratio: 8
75
+ sampling_stride: 2
76
+ processor:
77
+ _target_: w0.datasets.robotwin_posttrain.RobotwinPosttrainProcessor
78
+ stats_path: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
79
+ color_jitter:
80
+ enabled: true
81
+ brightness: 0.2
82
+ contrast: 0.2
83
+ saturation: 0.2
84
+ hue: 0.0
85
+ model:
86
+ _target_: w0.runtime.create_w0
87
+ model_id: ${oc.env:W0_WAN_MODEL_DIR,assets/wan22}
88
+ tokenizer_model_id: Wan-AI/Wan2.1-T2V-1.3B
89
+ tokenizer_max_len: 128
90
+ load_text_encoder: false
91
+ proprio_dim: 37
92
+ redirect_common_files: true
93
+ mot_checkpoint_mixed_attn: true
94
+ action_dit_pretrained_path: null
95
+ skip_dit_load_from_pretrain: true
96
+ legacy_checkpoint_config: null
97
+ observation_encoder: dino
98
+ dino_config:
99
+ model_name: dinov3-vitb16-hf
100
+ weights_path: ${oc.env:W0_DINO_WEIGHTS,assets/dinov3-vitb16-pretrain-lvd1689m}
101
+ input_resolution:
102
+ - 384
103
+ - 320
104
+ feature_dim: 768
105
+ patch_size: 16
106
+ use_cls_token: false
107
+ normalize_features: false
108
+ encode_microbatch_size: 16
109
+ checkpoint_observation_encoder_adapt: false
110
+ action_horizon: 64
111
+ action_chunk_size: 16
112
+ max_action_offset: 0
113
+ action_train_timestep_mode: per_chunk
114
+ future_training_mode: idm
115
+ idm_video_cond_noise_prob: 0.5
116
+ idm_checkpoint_full_layer: true
117
+ idm_checkpoint_layer_stride: 1
118
+ action_obs_downsample_factor: 1
119
+ chunk_kv_editor_num_queries: 32
120
+ num_history_frames: 0
121
+ action_video_read_mode: future
122
+ video_rope_frame_stride: 1
123
+ video_dit_config:
124
+ compact_timestep_embedding: true
125
+ has_image_input: false
126
+ patch_size:
127
+ - 1
128
+ - 2
129
+ - 2
130
+ in_dim: 48
131
+ hidden_dim: 3072
132
+ ffn_dim: 14336
133
+ freq_dim: 256
134
+ text_dim: 4096
135
+ out_dim: 48
136
+ num_heads: 24
137
+ attn_head_dim: 128
138
+ num_layers: 30
139
+ eps: 1.0e-06
140
+ seperated_timestep: true
141
+ require_clip_embedding: false
142
+ require_vae_embedding: false
143
+ fuse_vae_embedding_in_latents: true
144
+ use_gradient_checkpointing: true
145
+ video_attention_mask_mode: first_frame_causal
146
+ action_conditioned: false
147
+ action_dim: 37
148
+ action_group_causal_mask_mode: group_diagonal
149
+ action_dit_config:
150
+ num_soft_prompts: 8
151
+ soft_prompt_domains:
152
+ - robotwin_wam/aloha
153
+ soft_prompt_init_std: 0.02
154
+ domain_configs:
155
+ - name: robotwin_wam/aloha
156
+ dataset: robotwin_wam
157
+ embodiment: aloha
158
+ action_dim: 37
159
+ proprio_dim: 37
160
+ action_valid_indices:
161
+ - 0
162
+ - 1
163
+ - 2
164
+ - 3
165
+ - 4
166
+ - 5
167
+ - 16
168
+ - 17
169
+ - 18
170
+ - 19
171
+ - 20
172
+ - 21
173
+ - 22
174
+ - 33
175
+ proprio_valid_indices:
176
+ - 0
177
+ - 1
178
+ - 2
179
+ - 3
180
+ - 4
181
+ - 5
182
+ - 16
183
+ - 17
184
+ - 18
185
+ - 19
186
+ - 20
187
+ - 21
188
+ - 22
189
+ - 33
190
+ raw_joint_names:
191
+ - left_waist
192
+ - left_shoulder
193
+ - left_elbow
194
+ - left_forearm_roll
195
+ - left_wrist_angle
196
+ - left_wrist_rotate
197
+ - left_gripper
198
+ - right_waist
199
+ - right_shoulder
200
+ - right_elbow
201
+ - right_forearm_roll
202
+ - right_wrist_angle
203
+ - right_wrist_rotate
204
+ - right_gripper
205
+ action_semantics: native_absolute_joint_command_interval_end
206
+ action_dim: 37
207
+ hidden_dim: 1024
208
+ ffn_dim: 4096
209
+ num_heads: 24
210
+ attn_head_dim: 128
211
+ num_layers: 30
212
+ text_dim: 4096
213
+ freq_dim: 256
214
+ eps: 1.0e-06
215
+ autoregressive_teacher_forcing: true
216
+ action_chunk_size: 16
217
+ action_teacher_forcing_mask_mode: stage1_chunkwise
218
+ use_gradient_checkpointing: true
219
+ video_scheduler:
220
+ train_shift: 5.0
221
+ infer_shift: 5.0
222
+ num_train_timesteps: 1000
223
+ action_scheduler:
224
+ train_shift: 5.0
225
+ infer_shift: 5.0
226
+ num_train_timesteps: 1000
227
+ loss:
228
+ lambda_action: 1.0
229
+ lambda_action_prior: 1.0
230
+ video_plan_horizon: 96
231
+ video_action_stride: 8
232
+ video_plan_steps: 10
233
+ domain_registry_path: null
234
+ posttrain_required: true
235
+ posttrain_stats: ${oc.env:W0_ROBOTWIN_STATS,assets/robotwin/normalization.json}
236
+ history_aware_batching: false
237
+ optimizer_group_max_numel: 200000000