Kaz55 commited on
Commit
7cb0dfa
·
verified ·
1 Parent(s): af96d56

Upload folder using huggingface_hub

Browse files
README.md ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: lerobot
3
+ pipeline_tag: robotics
4
+ tags: [act, lerobot, robotics, dg5f, ur5e, gelsight, ablation]
5
+ ---
6
+
7
+ # ACT — blue 186ep, GelSight no gelsight
8
+
9
+ One point of a GelSight-resolution sweep on the DG-5F + UR5e blue-cable task.
10
+ Runs differ only in GelSight resolution, so any gap between them is attributable
11
+ to tactile resolution alone.
12
+
13
+ - **Dataset**: [Kaz55/dg5f_ur5e_blue_180ep_gs0](https://huggingface.co/datasets/Kaz55/dg5f_ur5e_blue_180ep_gs0) — 186 episodes / 186,152 frames
14
+ - **GelSight**: no gelsight
15
+ - **RealSense**: 640x480 (identical across the sweep)
16
+ - **Policy**: ACT, chunk_size=60, n_action_steps=60
17
+ - **Training**: 100,000 steps (~4.3 epochs), batch 8, seed 1000
18
+
19
+ ## Inputs
20
+
21
+ `observation.state` (26) + RealSense x2
22
+
23
+ `observation.velocity` and `observation.effort` are present in the dataset but
24
+ **deliberately excluded**. Feature auto-derivation would otherwise feed them to
25
+ the policy, adding a second difference between runs and breaking the ablation.
26
+
27
+ ## Sweep (186 episodes)
28
+
29
+ | GelSight | model |
30
+ |---|---|
31
+ | 500x375 | act-blue-180ep-gs500-ac60 |
32
+ | 320x240 | act-blue-180ep-gs320-ac60 |
33
+ | 160x120 | act-blue-180ep-gs160-ac60 |
34
+ | 88x66 | act-blue-180ep-gs88-ac60 |
35
+ | none | act-blue-180ep-gs0-ac60 |
36
+
37
+ ## Caveat
38
+
39
+ On the related 180-episode `combined` sweep, final training loss was 0.118 across
40
+ *every* resolution **including no-GelSight-at-all** — training loss did not detect
41
+ the tactile input. Treat these numbers as a sanity check, not as evidence that
42
+ tactile resolution matters; that requires on-robot evaluation.
config.json ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "act",
3
+ "n_obs_steps": 1,
4
+ "input_features": {
5
+ "observation.images.realsense1": {
6
+ "type": "VISUAL",
7
+ "shape": [
8
+ 3,
9
+ 480,
10
+ 640
11
+ ]
12
+ },
13
+ "observation.images.realsense2": {
14
+ "type": "VISUAL",
15
+ "shape": [
16
+ 3,
17
+ 480,
18
+ 640
19
+ ]
20
+ },
21
+ "observation.state": {
22
+ "type": "STATE",
23
+ "shape": [
24
+ 26
25
+ ]
26
+ }
27
+ },
28
+ "output_features": {
29
+ "action": {
30
+ "type": "ACTION",
31
+ "shape": [
32
+ 26
33
+ ]
34
+ }
35
+ },
36
+ "device": "cuda",
37
+ "use_amp": false,
38
+ "use_peft": false,
39
+ "push_to_hub": false,
40
+ "repo_id": null,
41
+ "private": null,
42
+ "tags": null,
43
+ "license": null,
44
+ "pretrained_path": null,
45
+ "chunk_size": 60,
46
+ "n_action_steps": 60,
47
+ "normalization_mapping": {
48
+ "VISUAL": "MEAN_STD",
49
+ "STATE": "MEAN_STD",
50
+ "ACTION": "MEAN_STD"
51
+ },
52
+ "vision_backbone": "resnet18",
53
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
54
+ "replace_final_stride_with_dilation": false,
55
+ "pre_norm": false,
56
+ "dim_model": 512,
57
+ "n_heads": 8,
58
+ "dim_feedforward": 3200,
59
+ "feedforward_activation": "relu",
60
+ "n_encoder_layers": 4,
61
+ "n_decoder_layers": 1,
62
+ "use_vae": true,
63
+ "latent_dim": 32,
64
+ "n_vae_encoder_layers": 4,
65
+ "temporal_ensemble_coeff": null,
66
+ "dropout": 0.1,
67
+ "kl_weight": 10.0,
68
+ "optimizer_lr": 1e-05,
69
+ "optimizer_weight_decay": 0.0001,
70
+ "optimizer_lr_backbone": 1e-05,
71
+ "use_finger_tactile_encoder": false,
72
+ "thumb_tactile_key": "observation.images.gelsight2",
73
+ "index_tactile_key": "observation.images.gelsight1",
74
+ "thumb_state_indices": [
75
+ 6,
76
+ 7,
77
+ 8,
78
+ 9
79
+ ],
80
+ "index_state_indices": [
81
+ 10,
82
+ 11,
83
+ 12,
84
+ 13
85
+ ],
86
+ "tactile_keep_spatial_tokens": false,
87
+ "drop_finger_dims_from_state_token": false
88
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8fb725497e9c92e0e07464e9f68a436b4c21fadcda5aa717acdcce3746854b36
3
+ size 206699816
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
+ 26
13
+ ]
14
+ }
15
+ },
16
+ "norm_map": {
17
+ "VISUAL": "MEAN_STD",
18
+ "STATE": "MEAN_STD",
19
+ "ACTION": "MEAN_STD"
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:ff702f40310398f5ca94ae5322af85e86104d10035b206af82bb0fb55274b5f0
3
+ size 12776
policy_preprocessor.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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": "device_processor",
16
+ "config": {
17
+ "device": "cuda",
18
+ "float_dtype": null
19
+ }
20
+ },
21
+ {
22
+ "registry_name": "normalizer_processor",
23
+ "config": {
24
+ "eps": 1e-08,
25
+ "features": {
26
+ "observation.images.realsense1": {
27
+ "type": "VISUAL",
28
+ "shape": [
29
+ 3,
30
+ 480,
31
+ 640
32
+ ]
33
+ },
34
+ "observation.images.realsense2": {
35
+ "type": "VISUAL",
36
+ "shape": [
37
+ 3,
38
+ 480,
39
+ 640
40
+ ]
41
+ },
42
+ "observation.state": {
43
+ "type": "STATE",
44
+ "shape": [
45
+ 26
46
+ ]
47
+ },
48
+ "action": {
49
+ "type": "ACTION",
50
+ "shape": [
51
+ 26
52
+ ]
53
+ }
54
+ },
55
+ "norm_map": {
56
+ "VISUAL": "MEAN_STD",
57
+ "STATE": "MEAN_STD",
58
+ "ACTION": "MEAN_STD"
59
+ }
60
+ },
61
+ "state_file": "policy_preprocessor_step_3_normalizer_processor.safetensors"
62
+ }
63
+ ]
64
+ }
policy_preprocessor_step_3_normalizer_processor.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9f040a625a254a7a44e2cd7321cee1e4d7d0c4f556bc3374197096856b4e24c
3
+ size 12784
train_config.json ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": "Kaz55/dg5f_ur5e_blue_180ep_gs0",
4
+ "root": null,
5
+ "episodes": null,
6
+ "image_transforms": {
7
+ "enable": false,
8
+ "max_num_transforms": 3,
9
+ "random_order": false,
10
+ "tfs": {
11
+ "brightness": {
12
+ "weight": 1.0,
13
+ "type": "ColorJitter",
14
+ "kwargs": {
15
+ "brightness": [
16
+ 0.8,
17
+ 1.2
18
+ ]
19
+ }
20
+ },
21
+ "contrast": {
22
+ "weight": 1.0,
23
+ "type": "ColorJitter",
24
+ "kwargs": {
25
+ "contrast": [
26
+ 0.8,
27
+ 1.2
28
+ ]
29
+ }
30
+ },
31
+ "saturation": {
32
+ "weight": 1.0,
33
+ "type": "ColorJitter",
34
+ "kwargs": {
35
+ "saturation": [
36
+ 0.5,
37
+ 1.5
38
+ ]
39
+ }
40
+ },
41
+ "hue": {
42
+ "weight": 1.0,
43
+ "type": "ColorJitter",
44
+ "kwargs": {
45
+ "hue": [
46
+ -0.05,
47
+ 0.05
48
+ ]
49
+ }
50
+ },
51
+ "sharpness": {
52
+ "weight": 1.0,
53
+ "type": "SharpnessJitter",
54
+ "kwargs": {
55
+ "sharpness": [
56
+ 0.5,
57
+ 1.5
58
+ ]
59
+ }
60
+ },
61
+ "affine": {
62
+ "weight": 1.0,
63
+ "type": "RandomAffine",
64
+ "kwargs": {
65
+ "degrees": [
66
+ -5.0,
67
+ 5.0
68
+ ],
69
+ "translate": [
70
+ 0.05,
71
+ 0.05
72
+ ]
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "revision": null,
78
+ "use_imagenet_stats": true,
79
+ "video_backend": "torchcodec",
80
+ "return_uint8": false,
81
+ "streaming": false
82
+ },
83
+ "env": null,
84
+ "policy": {
85
+ "type": "act",
86
+ "n_obs_steps": 1,
87
+ "input_features": {
88
+ "observation.images.realsense1": {
89
+ "type": "VISUAL",
90
+ "shape": [
91
+ 3,
92
+ 480,
93
+ 640
94
+ ]
95
+ },
96
+ "observation.images.realsense2": {
97
+ "type": "VISUAL",
98
+ "shape": [
99
+ 3,
100
+ 480,
101
+ 640
102
+ ]
103
+ },
104
+ "observation.state": {
105
+ "type": "STATE",
106
+ "shape": [
107
+ 26
108
+ ]
109
+ }
110
+ },
111
+ "output_features": {
112
+ "action": {
113
+ "type": "ACTION",
114
+ "shape": [
115
+ 26
116
+ ]
117
+ }
118
+ },
119
+ "device": "cuda",
120
+ "use_amp": false,
121
+ "use_peft": false,
122
+ "push_to_hub": false,
123
+ "repo_id": null,
124
+ "private": null,
125
+ "tags": null,
126
+ "license": null,
127
+ "pretrained_path": null,
128
+ "chunk_size": 60,
129
+ "n_action_steps": 60,
130
+ "normalization_mapping": {
131
+ "VISUAL": "MEAN_STD",
132
+ "STATE": "MEAN_STD",
133
+ "ACTION": "MEAN_STD"
134
+ },
135
+ "vision_backbone": "resnet18",
136
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
137
+ "replace_final_stride_with_dilation": false,
138
+ "pre_norm": false,
139
+ "dim_model": 512,
140
+ "n_heads": 8,
141
+ "dim_feedforward": 3200,
142
+ "feedforward_activation": "relu",
143
+ "n_encoder_layers": 4,
144
+ "n_decoder_layers": 1,
145
+ "use_vae": true,
146
+ "latent_dim": 32,
147
+ "n_vae_encoder_layers": 4,
148
+ "temporal_ensemble_coeff": null,
149
+ "dropout": 0.1,
150
+ "kl_weight": 10.0,
151
+ "optimizer_lr": 1e-05,
152
+ "optimizer_weight_decay": 0.0001,
153
+ "optimizer_lr_backbone": 1e-05,
154
+ "use_finger_tactile_encoder": false,
155
+ "thumb_tactile_key": "observation.images.gelsight2",
156
+ "index_tactile_key": "observation.images.gelsight1",
157
+ "thumb_state_indices": [
158
+ 6,
159
+ 7,
160
+ 8,
161
+ 9
162
+ ],
163
+ "index_state_indices": [
164
+ 10,
165
+ 11,
166
+ 12,
167
+ 13
168
+ ],
169
+ "tactile_keep_spatial_tokens": false,
170
+ "drop_finger_dims_from_state_token": false
171
+ },
172
+ "reward_model": null,
173
+ "output_dir": "outputs/train/act_blue_180ep_gs0_ac60",
174
+ "job_name": "act_blue_180ep_gs0_ac60",
175
+ "resume": false,
176
+ "seed": 1000,
177
+ "cudnn_deterministic": false,
178
+ "num_workers": 4,
179
+ "batch_size": 8,
180
+ "prefetch_factor": 4,
181
+ "persistent_workers": true,
182
+ "steps": 100000,
183
+ "eval_freq": 20000,
184
+ "log_freq": 200,
185
+ "tolerance_s": 0.0001,
186
+ "save_checkpoint": true,
187
+ "save_freq": 20000,
188
+ "use_policy_training_preset": true,
189
+ "optimizer": {
190
+ "type": "adamw",
191
+ "lr": 1e-05,
192
+ "weight_decay": 0.0001,
193
+ "grad_clip_norm": 10.0,
194
+ "betas": [
195
+ 0.9,
196
+ 0.999
197
+ ],
198
+ "eps": 1e-08
199
+ },
200
+ "scheduler": null,
201
+ "eval": {
202
+ "n_episodes": 50,
203
+ "batch_size": 22,
204
+ "use_async_envs": true
205
+ },
206
+ "wandb": {
207
+ "enable": false,
208
+ "disable_artifact": false,
209
+ "project": "lerobot",
210
+ "entity": null,
211
+ "notes": null,
212
+ "run_id": null,
213
+ "mode": null,
214
+ "add_tags": true
215
+ },
216
+ "peft": null,
217
+ "sample_weighting": null,
218
+ "phase_sampling": null,
219
+ "rename_map": {},
220
+ "checkpoint_path": null
221
+ }