Robotics
LeRobot
Safetensors
act
so101
imitation-learning
BrutalCaesar commited on
Commit
64d90a1
·
verified ·
1 Parent(s): 9b13850

ACT CVAE, cubes+cylinder position holdout, chunk50, 100k steps, eval_loss 0.2041

Browse files
._README.md ADDED
Binary file (4.1 kB). View file
 
README.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: lerobot
3
+ license: apache-2.0
4
+ tags: [robotics, act, so101, imitation-learning, lerobot]
5
+ datasets: [BrutalCaesar/phi_so101_cubes_cylinder_v1]
6
+ pipeline_tag: robotics
7
+ ---
8
+
9
+ # ACT (CVAE) - SO-101 - 3 objects, 2 containers - wrist+front - chunk 50
10
+
11
+ Action Chunking Transformer, standard CVAE objective (`use_vae=true`, `kl_weight=10.0`), trained with
12
+ [LeRobot](https://github.com/huggingface/lerobot) 0.6.0.
13
+
14
+ Task: pick up one of three objects (red 25 mm cube, yellow cylinder, white 45 mm cube) and place it in
15
+ whichever container is on the table (cardboard box or white 3D-printed bin).
16
+
17
+ **Paired baseline**: [`act_so101_cubcyl_poshold_chunk50_bc`](https://huggingface.co/BrutalCaesar/act_so101_cubcyl_poshold_chunk50_bc)
18
+ — identical in every respect except `use_vae=false`. Trained to answer whether the CVAE objective
19
+ matters on this data.
20
+
21
+ **Final eval_loss (held-out 30 episodes): 0.2041.** Note this includes the `kl_weight x KL` term and
22
+ the BC model's does not, so the two numbers are not directly comparable.
23
+
24
+ ## The latent is collapsed, and lowering the penalty did not change that
25
+
26
+ Measured across a β sweep at `kl_weight` = 10, 1 and 0.1: all three finished with train loss
27
+ 0.056-0.057, identical to the BC run's 0.059, which has no KL term at all. At β=0.1 a KL of 1 nat
28
+ would add 0.1 to the loss; nothing of the sort appears, putting the KL below roughly 0.02 nats
29
+ regardless of β.
30
+
31
+ So the collapse is not caused by the penalty. The likely explanation is that `observation.state`
32
+ already discloses which grasp approach is underway for most frames — the demonstrations are
33
+ multimodal at the task level but close to deterministic per-observation, which is what the encoder
34
+ actually conditions on.
35
+
36
+ Practical consequence: **this model behaves close to a deterministic chunk regressor.** Do not expect
37
+ behavioural diversity from the latent.
38
+
39
+ ## ✅ Camera keys are correct — wire by name
40
+
41
+ | Physical camera | Observation key |
42
+ |---|---|
43
+ | wrist (gripper module) | `observation.images.wrist` |
44
+ | front (desk-level Brio 101) | `observation.images.front` |
45
+
46
+ Verified against pixels at episodes 8, 39 and 67 of the source dataset. **Do not** apply the
47
+ transposed mapping from the `8bin` models — that swap belongs to a different dataset.
48
+
49
+ The `top` camera was recorded but is **not** an input to this policy.
50
+
51
+ ## Held-out episodes — evaluate on these
52
+
53
+ 30 episodes were excluded from training: 5 from each of the 6 object x container blocks.
54
+
55
+ ```
56
+ [0,1,2,3,4, 20,21,22,23,24, 45,46,47,48,49, 65,66,67,68,69, 90,91,92,93,94, 110,111,112,113,114]
57
+ ```
58
+
59
+ Objects and containers, by `episode_index`: red cube 0-39, yellow cylinder 40-79, white cube 80-119;
60
+ cardboard box in the first 20 of each block, white 3D-printed bin in the second 20. Only one
61
+ container was on the table at a time, so the visible bin is always the target.
62
+
63
+ ## Inputs / outputs
64
+
65
+ | | Shape |
66
+ |---|---|
67
+ | `observation.images.wrist` | `(3, 480, 640)` |
68
+ | `observation.images.front` | `(3, 480, 640)` |
69
+ | `observation.state` | `(6,)` |
70
+ | **action** | `(50, 6)` — 50-step chunk, **1.67 s at 30 fps**, all executed |
71
+
72
+ Normalization ships as LeRobot 0.6.0 processor files, not baked into the weights. Load through
73
+ `ACTPolicy.from_pretrained` or actions come out in the wrong units.
74
+
75
+ ## 🚨 Evaluation caveat that applies to both models
76
+
77
+ These two policies are **indistinguishable on held-out loss**. Final `eval_loss`: 0.2041 (CVAE) vs
78
+ 0.1988 (BC). But a single model's eval bounces by ~0.008 between consecutive checkpoints, so the
79
+ 0.005 spread **between** models is smaller than the noise within either one.
80
+
81
+ Worse, the metric is biased for this data. The demonstrations contain roughly three distinct grasp
82
+ approaches per object, and **held-out L1 systematically rewards a policy that averages them** — a
83
+ policy committing crisply to approach 2 is penalised on every held-out episode that used approach 1
84
+ or 3. BC's marginally lower number is exactly what an averaging model would produce.
85
+
86
+ **Only scored rollouts can rank these.** Do not conclude from the loss.
87
+
88
+ ## Training
89
+
90
+ | | |
91
+ |---|---|
92
+ | Dataset | [`phi_so101_cubes_cylinder_v1`](https://huggingface.co/datasets/BrutalCaesar/phi_so101_cubes_cylinder_v1), 90 of 120 episodes, 49,969 frames |
93
+ | Steps / batch / seed | 100,000 / 8 / 1000 (16.0 epochs) |
94
+ | Optimizer | AdamW, lr 1e-5, backbone lr 1e-5, weight decay 1e-4 |
95
+ | Backbone | ResNet-18, ImageNet-pretrained, not frozen |
96
+ | `n_obs_steps` | 1 — single frame, no history |
97
+ | Hardware | 1x H200, Northeastern Explorer |
98
+
99
+ No overfitting was observed: `eval_loss` is flat from step 60,000 to 100,000, so any checkpoint in
100
+ that range is equivalent. This is the 100,000-step checkpoint.
101
+
102
+ ## Known limitations
103
+
104
+ - `n_obs_steps=1`, so no velocity information.
105
+ - Scene-dependent: the cardboard box and white bin as used during recording. A different container is a domain shift.
106
+ - One room, one lighting setup, one operator.
107
+ - ⚠️ The operator observed a camera frame-rate warning on battery power during roughly the first 50 episodes of collection. Recorded as reported; a pixel-level check found 4-9% stalled frames uniformly across the dataset with no early-vs-late pattern, so this is **unconfirmed**.
108
+ - ⚠️ The white cube is low contrast against the light table in the overhead view. Not an input here (top camera unused), but it is the object most likely to underperform.
config.json ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "act",
3
+ "n_obs_steps": 1,
4
+ "input_features": {
5
+ "observation.state": {
6
+ "type": "STATE",
7
+ "shape": [
8
+ 6
9
+ ]
10
+ },
11
+ "observation.images.wrist": {
12
+ "type": "VISUAL",
13
+ "shape": [
14
+ 3,
15
+ 480,
16
+ 640
17
+ ]
18
+ },
19
+ "observation.images.front": {
20
+ "type": "VISUAL",
21
+ "shape": [
22
+ 3,
23
+ 480,
24
+ 640
25
+ ]
26
+ }
27
+ },
28
+ "output_features": {
29
+ "action": {
30
+ "type": "ACTION",
31
+ "shape": [
32
+ 6
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
+ "pretrained_revision": null,
46
+ "chunk_size": 50,
47
+ "n_action_steps": 50,
48
+ "normalization_mapping": {
49
+ "VISUAL": "MEAN_STD",
50
+ "STATE": "MEAN_STD",
51
+ "ACTION": "MEAN_STD"
52
+ },
53
+ "vision_backbone": "resnet18",
54
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
55
+ "replace_final_stride_with_dilation": false,
56
+ "pre_norm": false,
57
+ "dim_model": 512,
58
+ "n_heads": 8,
59
+ "dim_feedforward": 3200,
60
+ "feedforward_activation": "relu",
61
+ "n_encoder_layers": 4,
62
+ "n_decoder_layers": 1,
63
+ "use_vae": true,
64
+ "latent_dim": 32,
65
+ "n_vae_encoder_layers": 4,
66
+ "temporal_ensemble_coeff": null,
67
+ "dropout": 0.1,
68
+ "kl_weight": 10.0,
69
+ "optimizer_lr": 1e-05,
70
+ "optimizer_weight_decay": 0.0001,
71
+ "optimizer_lr_backbone": 1e-05
72
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:743ea32f2abe16c7c769dd710104927fa94c6c3654f17ea3e6c72b7eaf981d6b
3
+ size 206494928
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
+ 6
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:709c02731a00cdbc979e0288e10069e14204c6dc34ca9ac0995a16a2141ad3dc
3
+ size 8528
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.state": {
27
+ "type": "STATE",
28
+ "shape": [
29
+ 6
30
+ ]
31
+ },
32
+ "observation.images.wrist": {
33
+ "type": "VISUAL",
34
+ "shape": [
35
+ 3,
36
+ 480,
37
+ 640
38
+ ]
39
+ },
40
+ "observation.images.front": {
41
+ "type": "VISUAL",
42
+ "shape": [
43
+ 3,
44
+ 480,
45
+ 640
46
+ ]
47
+ },
48
+ "action": {
49
+ "type": "ACTION",
50
+ "shape": [
51
+ 6
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:b48043906358fa82dcd15ba6cfbfaaa9a8e10aa9f08fa4c0e6adaed14cc6cef2
3
+ size 8536
train_config.json ADDED
@@ -0,0 +1,340 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": "BrutalCaesar/phi_so101_cubes_cylinder_v1",
4
+ "root": null,
5
+ "episodes": [
6
+ 5,
7
+ 6,
8
+ 7,
9
+ 8,
10
+ 9,
11
+ 10,
12
+ 11,
13
+ 12,
14
+ 13,
15
+ 14,
16
+ 15,
17
+ 16,
18
+ 17,
19
+ 18,
20
+ 19,
21
+ 25,
22
+ 26,
23
+ 27,
24
+ 28,
25
+ 29,
26
+ 30,
27
+ 31,
28
+ 32,
29
+ 33,
30
+ 34,
31
+ 35,
32
+ 36,
33
+ 37,
34
+ 38,
35
+ 39,
36
+ 40,
37
+ 41,
38
+ 42,
39
+ 43,
40
+ 44,
41
+ 50,
42
+ 51,
43
+ 52,
44
+ 53,
45
+ 54,
46
+ 55,
47
+ 56,
48
+ 57,
49
+ 58,
50
+ 59,
51
+ 60,
52
+ 61,
53
+ 62,
54
+ 63,
55
+ 64,
56
+ 70,
57
+ 71,
58
+ 72,
59
+ 73,
60
+ 74,
61
+ 75,
62
+ 76,
63
+ 77,
64
+ 78,
65
+ 79,
66
+ 80,
67
+ 81,
68
+ 82,
69
+ 83,
70
+ 84,
71
+ 85,
72
+ 86,
73
+ 87,
74
+ 88,
75
+ 89,
76
+ 95,
77
+ 96,
78
+ 97,
79
+ 98,
80
+ 99,
81
+ 100,
82
+ 101,
83
+ 102,
84
+ 103,
85
+ 104,
86
+ 105,
87
+ 106,
88
+ 107,
89
+ 108,
90
+ 109,
91
+ 115,
92
+ 116,
93
+ 117,
94
+ 118,
95
+ 119,
96
+ 0,
97
+ 1,
98
+ 2,
99
+ 3,
100
+ 4,
101
+ 20,
102
+ 21,
103
+ 22,
104
+ 23,
105
+ 24,
106
+ 45,
107
+ 46,
108
+ 47,
109
+ 48,
110
+ 49,
111
+ 65,
112
+ 66,
113
+ 67,
114
+ 68,
115
+ 69,
116
+ 90,
117
+ 91,
118
+ 92,
119
+ 93,
120
+ 94,
121
+ 110,
122
+ 111,
123
+ 112,
124
+ 113,
125
+ 114
126
+ ],
127
+ "image_transforms": {
128
+ "enable": false,
129
+ "max_num_transforms": 3,
130
+ "random_order": false,
131
+ "tfs": {
132
+ "brightness": {
133
+ "weight": 1.0,
134
+ "type": "ColorJitter",
135
+ "kwargs": {
136
+ "brightness": [
137
+ 0.8,
138
+ 1.2
139
+ ]
140
+ }
141
+ },
142
+ "contrast": {
143
+ "weight": 1.0,
144
+ "type": "ColorJitter",
145
+ "kwargs": {
146
+ "contrast": [
147
+ 0.8,
148
+ 1.2
149
+ ]
150
+ }
151
+ },
152
+ "saturation": {
153
+ "weight": 1.0,
154
+ "type": "ColorJitter",
155
+ "kwargs": {
156
+ "saturation": [
157
+ 0.5,
158
+ 1.5
159
+ ]
160
+ }
161
+ },
162
+ "hue": {
163
+ "weight": 1.0,
164
+ "type": "ColorJitter",
165
+ "kwargs": {
166
+ "hue": [
167
+ -0.05,
168
+ 0.05
169
+ ]
170
+ }
171
+ },
172
+ "sharpness": {
173
+ "weight": 1.0,
174
+ "type": "SharpnessJitter",
175
+ "kwargs": {
176
+ "sharpness": [
177
+ 0.5,
178
+ 1.5
179
+ ]
180
+ }
181
+ },
182
+ "affine": {
183
+ "weight": 1.0,
184
+ "type": "RandomAffine",
185
+ "kwargs": {
186
+ "degrees": [
187
+ -5.0,
188
+ 5.0
189
+ ],
190
+ "translate": [
191
+ 0.05,
192
+ 0.05
193
+ ]
194
+ }
195
+ }
196
+ }
197
+ },
198
+ "revision": null,
199
+ "use_imagenet_stats": true,
200
+ "video_backend": "pyav",
201
+ "return_uint8": false,
202
+ "depth_output_unit": "mm",
203
+ "streaming": false,
204
+ "eval_split": 0.25
205
+ },
206
+ "env": null,
207
+ "policy": {
208
+ "type": "act",
209
+ "n_obs_steps": 1,
210
+ "input_features": {
211
+ "observation.state": {
212
+ "type": "STATE",
213
+ "shape": [
214
+ 6
215
+ ]
216
+ },
217
+ "observation.images.wrist": {
218
+ "type": "VISUAL",
219
+ "shape": [
220
+ 3,
221
+ 480,
222
+ 640
223
+ ]
224
+ },
225
+ "observation.images.front": {
226
+ "type": "VISUAL",
227
+ "shape": [
228
+ 3,
229
+ 480,
230
+ 640
231
+ ]
232
+ }
233
+ },
234
+ "output_features": {
235
+ "action": {
236
+ "type": "ACTION",
237
+ "shape": [
238
+ 6
239
+ ]
240
+ }
241
+ },
242
+ "device": "cuda",
243
+ "use_amp": false,
244
+ "use_peft": false,
245
+ "push_to_hub": false,
246
+ "repo_id": null,
247
+ "private": null,
248
+ "tags": null,
249
+ "license": null,
250
+ "pretrained_path": null,
251
+ "pretrained_revision": null,
252
+ "chunk_size": 50,
253
+ "n_action_steps": 50,
254
+ "normalization_mapping": {
255
+ "VISUAL": "MEAN_STD",
256
+ "STATE": "MEAN_STD",
257
+ "ACTION": "MEAN_STD"
258
+ },
259
+ "vision_backbone": "resnet18",
260
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
261
+ "replace_final_stride_with_dilation": false,
262
+ "pre_norm": false,
263
+ "dim_model": 512,
264
+ "n_heads": 8,
265
+ "dim_feedforward": 3200,
266
+ "feedforward_activation": "relu",
267
+ "n_encoder_layers": 4,
268
+ "n_decoder_layers": 1,
269
+ "use_vae": true,
270
+ "latent_dim": 32,
271
+ "n_vae_encoder_layers": 4,
272
+ "temporal_ensemble_coeff": null,
273
+ "dropout": 0.1,
274
+ "kl_weight": 10.0,
275
+ "optimizer_lr": 1e-05,
276
+ "optimizer_weight_decay": 0.0001,
277
+ "optimizer_lr_backbone": 1e-05
278
+ },
279
+ "reward_model": null,
280
+ "output_dir": "/scratch/gupta.yashv/phi/results/act_cubcyl_poshold_chunk50_cvae",
281
+ "job_name": "act_cubcyl_poshold_chunk50_cvae",
282
+ "resume": false,
283
+ "seed": 1000,
284
+ "cudnn_deterministic": false,
285
+ "num_workers": 16,
286
+ "batch_size": 8,
287
+ "prefetch_factor": 4,
288
+ "persistent_workers": true,
289
+ "steps": 100000,
290
+ "env_eval_freq": 20000,
291
+ "log_freq": 200,
292
+ "eval_steps": 10000,
293
+ "max_eval_samples": 0,
294
+ "tolerance_s": 0.0001,
295
+ "save_checkpoint": true,
296
+ "save_freq": 20000,
297
+ "use_policy_training_preset": true,
298
+ "optimizer": {
299
+ "type": "adamw",
300
+ "lr": 1e-05,
301
+ "weight_decay": 0.0001,
302
+ "grad_clip_norm": 10.0,
303
+ "betas": [
304
+ 0.9,
305
+ 0.999
306
+ ],
307
+ "eps": 1e-08
308
+ },
309
+ "scheduler": null,
310
+ "eval": {
311
+ "n_episodes": 50,
312
+ "batch_size": 50,
313
+ "use_async_envs": true,
314
+ "recording": false,
315
+ "recording_repo_id": null,
316
+ "recording_private": false
317
+ },
318
+ "wandb": {
319
+ "enable": true,
320
+ "disable_artifact": false,
321
+ "project": "phi-act",
322
+ "entity": null,
323
+ "notes": "cubes+cylinder, position holdout (5 eps from each of 6 object x bin blocks, 30 held out). use_vae=true. chunk=50. eval_loss on the held-out 30 every 10000 steps.",
324
+ "run_id": "hipg6v1q",
325
+ "mode": "online",
326
+ "add_tags": true
327
+ },
328
+ "peft": null,
329
+ "job": {
330
+ "target": null,
331
+ "image": "huggingface/lerobot-gpu:latest",
332
+ "timeout": "2d",
333
+ "detach": false,
334
+ "tags": []
335
+ },
336
+ "save_checkpoint_to_hub": false,
337
+ "sample_weighting": null,
338
+ "rename_map": {},
339
+ "checkpoint_path": null
340
+ }