Neotix-Robotics commited on
Commit
d49ccf6
·
verified ·
1 Parent(s): 09f7b15

multi-task DiT trained 50k steps on RoboTwin

Browse files
config.json ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "multi_task_dit",
3
+ "n_obs_steps": 2,
4
+ "input_features": {
5
+ "observation.state": {
6
+ "type": "STATE",
7
+ "shape": [
8
+ 14
9
+ ]
10
+ },
11
+ "observation.images.cam_high": {
12
+ "type": "VISUAL",
13
+ "shape": [
14
+ 480,
15
+ 640,
16
+ 3
17
+ ]
18
+ },
19
+ "observation.images.cam_left_wrist": {
20
+ "type": "VISUAL",
21
+ "shape": [
22
+ 480,
23
+ 640,
24
+ 3
25
+ ]
26
+ },
27
+ "observation.images.cam_right_wrist": {
28
+ "type": "VISUAL",
29
+ "shape": [
30
+ 480,
31
+ 640,
32
+ 3
33
+ ]
34
+ }
35
+ },
36
+ "output_features": {
37
+ "action": {
38
+ "type": "ACTION",
39
+ "shape": [
40
+ 14
41
+ ]
42
+ }
43
+ },
44
+ "device": "cuda",
45
+ "use_amp": true,
46
+ "use_peft": false,
47
+ "push_to_hub": true,
48
+ "repo_id": "unitzero-ai/dit_robotwin_2026-09-29_15-41-09",
49
+ "private": true,
50
+ "tags": null,
51
+ "license": null,
52
+ "pretrained_path": "outputs/train/2026-09-30/09-34-48_dit_robotwin_2026-09-29_15-41-09/checkpoints/012000/pretrained_model",
53
+ "pretrained_revision": null,
54
+ "horizon": 32,
55
+ "n_action_steps": 24,
56
+ "objective": "diffusion",
57
+ "noise_scheduler_type": "DDPM",
58
+ "num_train_timesteps": 100,
59
+ "beta_schedule": "squaredcos_cap_v2",
60
+ "beta_start": 0.0001,
61
+ "beta_end": 0.02,
62
+ "prediction_type": "epsilon",
63
+ "clip_sample": true,
64
+ "clip_sample_range": 1.0,
65
+ "num_inference_steps": 10,
66
+ "sigma_min": 0.0,
67
+ "num_integration_steps": 100,
68
+ "integration_method": "euler",
69
+ "timestep_sampling_strategy": "beta",
70
+ "timestep_sampling_s": 0.999,
71
+ "timestep_sampling_alpha": 1.5,
72
+ "timestep_sampling_beta": 1.0,
73
+ "hidden_dim": 768,
74
+ "num_layers": 8,
75
+ "num_heads": 12,
76
+ "dropout": 0.1,
77
+ "use_positional_encoding": false,
78
+ "timestep_embed_dim": 256,
79
+ "use_rope": true,
80
+ "rope_base": 10000.0,
81
+ "vision_encoder_name": "openai/clip-vit-base-patch16",
82
+ "use_separate_rgb_encoder_per_camera": false,
83
+ "vision_encoder_lr_multiplier": 0.1,
84
+ "image_resize_shape": [
85
+ 256,
86
+ 256
87
+ ],
88
+ "image_crop_shape": [
89
+ 224,
90
+ 224
91
+ ],
92
+ "image_crop_is_random": true,
93
+ "text_encoder_name": "openai/clip-vit-base-patch16",
94
+ "tokenizer_max_length": 77,
95
+ "tokenizer_padding": "max_length",
96
+ "tokenizer_padding_side": "right",
97
+ "tokenizer_truncation": true,
98
+ "normalization_mapping": {
99
+ "VISUAL": "MEAN_STD",
100
+ "STATE": "MIN_MAX",
101
+ "ACTION": "MIN_MAX"
102
+ },
103
+ "optimizer_lr": 0.0003,
104
+ "optimizer_betas": [
105
+ 0.95,
106
+ 0.999
107
+ ],
108
+ "optimizer_eps": 1e-08,
109
+ "optimizer_weight_decay": 0.0,
110
+ "scheduler_name": "cosine",
111
+ "scheduler_warmup_steps": 0,
112
+ "do_mask_loss_for_padding": false,
113
+ "drop_n_last_frames": 7
114
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f55caf7f62ccf3b88521bcf39276c96512a4c441792fa7d4f2edf942c55a9a3b
3
+ size 1773362776
policy_postprocessor.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "policy_postprocessor",
3
+ "steps": [
4
+ {
5
+ "registry_name": "unnormalizer_processor",
6
+ "config": {
7
+ "eps": 1e-08,
8
+ "features": {
9
+ "action": {
10
+ "type": "ACTION",
11
+ "shape": [
12
+ 14
13
+ ]
14
+ }
15
+ },
16
+ "norm_map": {
17
+ "VISUAL": "MEAN_STD",
18
+ "STATE": "MIN_MAX",
19
+ "ACTION": "MIN_MAX"
20
+ }
21
+ },
22
+ "state_file": "policy_postprocessor_step_0_unnormalizer_processor.safetensors"
23
+ },
24
+ {
25
+ "registry_name": "device_processor",
26
+ "config": {
27
+ "device": "cpu",
28
+ "float_dtype": null
29
+ }
30
+ }
31
+ ]
32
+ }
policy_postprocessor_step_0_unnormalizer_processor.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03f5dcff1c71f45d35caa328581a195754a95b8a176ab91760ed7fed3e1e9b4e
3
+ size 4624
policy_preprocessor.json ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "policy_preprocessor",
3
+ "steps": [
4
+ {
5
+ "registry_name": "rename_observations_processor",
6
+ "config": {
7
+ "rename_map": {}
8
+ }
9
+ },
10
+ {
11
+ "registry_name": "to_batch_processor",
12
+ "config": {}
13
+ },
14
+ {
15
+ "registry_name": "tokenizer_processor",
16
+ "config": {
17
+ "max_length": 77,
18
+ "task_key": "task",
19
+ "padding_side": "right",
20
+ "padding": "max_length",
21
+ "truncation": true,
22
+ "tokenizer_name": "tokenizer"
23
+ },
24
+ "artifacts": {
25
+ "tokenizer_name": "tokenizer"
26
+ }
27
+ },
28
+ {
29
+ "registry_name": "device_processor",
30
+ "config": {
31
+ "device": "cuda",
32
+ "float_dtype": null
33
+ }
34
+ },
35
+ {
36
+ "registry_name": "normalizer_processor",
37
+ "config": {
38
+ "eps": 1e-08,
39
+ "features": {
40
+ "observation.state": {
41
+ "type": "STATE",
42
+ "shape": [
43
+ 14
44
+ ]
45
+ },
46
+ "observation.images.cam_high": {
47
+ "type": "VISUAL",
48
+ "shape": [
49
+ 480,
50
+ 640,
51
+ 3
52
+ ]
53
+ },
54
+ "observation.images.cam_left_wrist": {
55
+ "type": "VISUAL",
56
+ "shape": [
57
+ 480,
58
+ 640,
59
+ 3
60
+ ]
61
+ },
62
+ "observation.images.cam_right_wrist": {
63
+ "type": "VISUAL",
64
+ "shape": [
65
+ 480,
66
+ 640,
67
+ 3
68
+ ]
69
+ },
70
+ "action": {
71
+ "type": "ACTION",
72
+ "shape": [
73
+ 14
74
+ ]
75
+ }
76
+ },
77
+ "norm_map": {
78
+ "VISUAL": "MEAN_STD",
79
+ "STATE": "MIN_MAX",
80
+ "ACTION": "MIN_MAX"
81
+ }
82
+ },
83
+ "state_file": "policy_preprocessor_step_4_normalizer_processor.safetensors"
84
+ }
85
+ ]
86
+ }
policy_preprocessor_step_4_normalizer_processor.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b3713d7915d5865e4872131d358c28300a1ba19430c8639cde984f0cd0f0088
3
+ size 4600
tokenizer/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": "<|startoftext|>",
5
+ "do_lower_case": true,
6
+ "eos_token": "<|endoftext|>",
7
+ "errors": "replace",
8
+ "is_local": true,
9
+ "max_length": 77,
10
+ "model_max_length": 77,
11
+ "pad_to_multiple_of": null,
12
+ "pad_token": "<|endoftext|>",
13
+ "pad_token_type_id": 0,
14
+ "padding_side": "right",
15
+ "stride": 0,
16
+ "tokenizer_class": "CLIPTokenizer",
17
+ "truncation_side": "right",
18
+ "truncation_strategy": "longest_first",
19
+ "unk_token": "<|endoftext|>"
20
+ }
train_config.json ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": "lerobot/robotwin_unified",
4
+ "repo_type": "dataset",
5
+ "root": null,
6
+ "episodes": null,
7
+ "exclude_episodes": null,
8
+ "image_transforms": {
9
+ "enable": true,
10
+ "max_num_transforms": 4,
11
+ "random_order": false,
12
+ "tfs": {
13
+ "brightness": {
14
+ "weight": 1.0,
15
+ "type": "ColorJitter",
16
+ "kwargs": {
17
+ "brightness": [
18
+ 0.75,
19
+ 1.25
20
+ ]
21
+ }
22
+ },
23
+ "contrast": {
24
+ "weight": 1.0,
25
+ "type": "ColorJitter",
26
+ "kwargs": {
27
+ "contrast": [
28
+ 0.6,
29
+ 1.4
30
+ ]
31
+ }
32
+ },
33
+ "saturation": {
34
+ "weight": 1.0,
35
+ "type": "ColorJitter",
36
+ "kwargs": {
37
+ "saturation": [
38
+ 0.8,
39
+ 1.2
40
+ ]
41
+ }
42
+ },
43
+ "hue": {
44
+ "weight": 1.0,
45
+ "type": "ColorJitter",
46
+ "kwargs": {
47
+ "hue": [
48
+ -0.05,
49
+ 0.05
50
+ ]
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "revision": "main",
56
+ "use_imagenet_stats": true,
57
+ "video_backend": "torchcodec",
58
+ "return_uint8": false,
59
+ "depth_output_unit": "mm",
60
+ "streaming": false,
61
+ "eval_split": 0.0
62
+ },
63
+ "env": null,
64
+ "policy": {
65
+ "type": "multi_task_dit",
66
+ "n_obs_steps": 2,
67
+ "input_features": {
68
+ "observation.state": {
69
+ "type": "STATE",
70
+ "shape": [
71
+ 14
72
+ ]
73
+ },
74
+ "observation.images.cam_high": {
75
+ "type": "VISUAL",
76
+ "shape": [
77
+ 480,
78
+ 640,
79
+ 3
80
+ ]
81
+ },
82
+ "observation.images.cam_left_wrist": {
83
+ "type": "VISUAL",
84
+ "shape": [
85
+ 480,
86
+ 640,
87
+ 3
88
+ ]
89
+ },
90
+ "observation.images.cam_right_wrist": {
91
+ "type": "VISUAL",
92
+ "shape": [
93
+ 480,
94
+ 640,
95
+ 3
96
+ ]
97
+ }
98
+ },
99
+ "output_features": {
100
+ "action": {
101
+ "type": "ACTION",
102
+ "shape": [
103
+ 14
104
+ ]
105
+ }
106
+ },
107
+ "device": "cuda",
108
+ "use_amp": true,
109
+ "use_peft": false,
110
+ "push_to_hub": true,
111
+ "repo_id": "unitzero-ai/dit_robotwin_2026-09-29_15-41-09",
112
+ "private": true,
113
+ "tags": null,
114
+ "license": null,
115
+ "pretrained_path": "outputs/train/2026-09-30/09-34-48_dit_robotwin_2026-09-29_15-41-09/checkpoints/012000/pretrained_model",
116
+ "pretrained_revision": null,
117
+ "horizon": 32,
118
+ "n_action_steps": 24,
119
+ "objective": "diffusion",
120
+ "noise_scheduler_type": "DDPM",
121
+ "num_train_timesteps": 100,
122
+ "beta_schedule": "squaredcos_cap_v2",
123
+ "beta_start": 0.0001,
124
+ "beta_end": 0.02,
125
+ "prediction_type": "epsilon",
126
+ "clip_sample": true,
127
+ "clip_sample_range": 1.0,
128
+ "num_inference_steps": 10,
129
+ "sigma_min": 0.0,
130
+ "num_integration_steps": 100,
131
+ "integration_method": "euler",
132
+ "timestep_sampling_strategy": "beta",
133
+ "timestep_sampling_s": 0.999,
134
+ "timestep_sampling_alpha": 1.5,
135
+ "timestep_sampling_beta": 1.0,
136
+ "hidden_dim": 768,
137
+ "num_layers": 8,
138
+ "num_heads": 12,
139
+ "dropout": 0.1,
140
+ "use_positional_encoding": false,
141
+ "timestep_embed_dim": 256,
142
+ "use_rope": true,
143
+ "rope_base": 10000.0,
144
+ "vision_encoder_name": "openai/clip-vit-base-patch16",
145
+ "use_separate_rgb_encoder_per_camera": false,
146
+ "vision_encoder_lr_multiplier": 0.1,
147
+ "image_resize_shape": [
148
+ 256,
149
+ 256
150
+ ],
151
+ "image_crop_shape": [
152
+ 224,
153
+ 224
154
+ ],
155
+ "image_crop_is_random": true,
156
+ "text_encoder_name": "openai/clip-vit-base-patch16",
157
+ "tokenizer_max_length": 77,
158
+ "tokenizer_padding": "max_length",
159
+ "tokenizer_padding_side": "right",
160
+ "tokenizer_truncation": true,
161
+ "normalization_mapping": {
162
+ "VISUAL": "MEAN_STD",
163
+ "STATE": "MIN_MAX",
164
+ "ACTION": "MIN_MAX"
165
+ },
166
+ "optimizer_lr": 0.0003,
167
+ "optimizer_betas": [
168
+ 0.95,
169
+ 0.999
170
+ ],
171
+ "optimizer_eps": 1e-08,
172
+ "optimizer_weight_decay": 0.0,
173
+ "scheduler_name": "cosine",
174
+ "scheduler_warmup_steps": 0,
175
+ "do_mask_loss_for_padding": false,
176
+ "drop_n_last_frames": 7
177
+ },
178
+ "reward_model": null,
179
+ "output_dir": "outputs/train/2026-09-30/09-34-48_dit_robotwin_2026-09-29_15-41-09",
180
+ "job_name": "dit_robotwin",
181
+ "resume": true,
182
+ "seed": 123,
183
+ "cudnn_deterministic": false,
184
+ "num_workers": 8,
185
+ "batch_size": 64,
186
+ "prefetch_factor": 4,
187
+ "persistent_workers": true,
188
+ "dataloader_multiprocessing_context": "spawn",
189
+ "steps": 50000,
190
+ "env_eval_freq": 0,
191
+ "log_freq": 100,
192
+ "eval_steps": 0,
193
+ "max_eval_samples": 0,
194
+ "tolerance_s": 0.0001,
195
+ "save_checkpoint": true,
196
+ "save_freq": 4000,
197
+ "checkpoint_format": "safetensors",
198
+ "use_policy_training_preset": true,
199
+ "optimizer": {
200
+ "type": "adam",
201
+ "lr": 0.0003,
202
+ "weight_decay": 0.0,
203
+ "grad_clip_norm": 10.0,
204
+ "betas": [
205
+ 0.95,
206
+ 0.999
207
+ ],
208
+ "eps": 1e-08
209
+ },
210
+ "scheduler": {
211
+ "type": "diffuser",
212
+ "num_warmup_steps": 0,
213
+ "name": "cosine"
214
+ },
215
+ "parallelism": {
216
+ "dp_replicate": 8,
217
+ "dp_shard": 1,
218
+ "context_parallel": {
219
+ "ring_degree": 1,
220
+ "ulysses_degree": 1
221
+ },
222
+ "cfg_parallel": 1
223
+ },
224
+ "accelerator": {
225
+ "mixed_precision": "bf16",
226
+ "gradient_accumulation": {
227
+ "steps": 1
228
+ },
229
+ "fsdp": {
230
+ "reshard_after_forward": true,
231
+ "wrap_modules": null,
232
+ "min_num_params": null,
233
+ "cpu_offload": false,
234
+ "ignored_modules": null
235
+ },
236
+ "ddp": {
237
+ "find_unused_parameters": true,
238
+ "gradient_as_bucket_view": false,
239
+ "static_graph": false
240
+ },
241
+ "compile": {
242
+ "enabled": false,
243
+ "backend": "inductor",
244
+ "mode": null,
245
+ "regional": true
246
+ },
247
+ "activation_checkpointing": {
248
+ "mode": "none"
249
+ }
250
+ },
251
+ "eval": {
252
+ "n_episodes": 50,
253
+ "batch_size": 50,
254
+ "use_async_envs": true,
255
+ "recording": false,
256
+ "recording_repo_id": null,
257
+ "recording_private": false
258
+ },
259
+ "ema": {
260
+ "enable": false,
261
+ "decay": null,
262
+ "update_after_step": 0,
263
+ "inv_gamma": 1.0,
264
+ "power": 0.75,
265
+ "min_decay": 0.0,
266
+ "max_decay": 0.9999,
267
+ "use_for_eval": true
268
+ },
269
+ "wandb": {
270
+ "enable": true,
271
+ "disable_artifact": false,
272
+ "project": "dit_robotwin",
273
+ "entity": "unitzero-ai",
274
+ "notes": null,
275
+ "run_id": "qhy4lauf",
276
+ "resume": null,
277
+ "mode": null,
278
+ "console": "wrap",
279
+ "console_multipart": false,
280
+ "console_chunk_max_seconds": 0,
281
+ "add_tags": true
282
+ },
283
+ "peft": null,
284
+ "job": {
285
+ "target": null,
286
+ "image": "huggingface/lerobot-gpu:latest",
287
+ "timeout": "2d",
288
+ "detach": false,
289
+ "tags": []
290
+ },
291
+ "save_checkpoint_to_hub": false,
292
+ "sample_weighting": null,
293
+ "rename_map": {},
294
+ "checkpoint_path": "outputs/train/2026-09-30/09-34-48_dit_robotwin_2026-09-29_15-41-09/checkpoints/012000"
295
+ }