Robotics
LeRobot
Safetensors
act
SIGRoboticsUIUC commited on
Commit
aa98e3c
·
verified ·
1 Parent(s): 13b5368

Upload policy weights, train config and readme

Browse files
Files changed (4) hide show
  1. README.md +62 -0
  2. config.json +78 -0
  3. model.safetensors +3 -0
  4. train_config.json +226 -0
README.md ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets: SIGRoboticsUIUC/matcha-making
3
+ library_name: lerobot
4
+ license: apache-2.0
5
+ model_name: act
6
+ pipeline_tag: robotics
7
+ tags:
8
+ - robotics
9
+ - lerobot
10
+ - act
11
+ ---
12
+
13
+ # Model Card for act
14
+
15
+ <!-- Provide a quick summary of what the model is/does. -->
16
+
17
+
18
+ [Action Chunking with Transformers (ACT)](https://huggingface.co/papers/2304.13705) is an imitation-learning method that predicts short action chunks instead of single steps. It learns from teleoperated data and often achieves high success rates.
19
+
20
+
21
+ This policy has been trained and pushed to the Hub using [LeRobot](https://github.com/huggingface/lerobot).
22
+ See the full documentation at [LeRobot Docs](https://huggingface.co/docs/lerobot/index).
23
+
24
+ ---
25
+
26
+ ## How to Get Started with the Model
27
+
28
+ For a complete walkthrough, see the [training guide](https://huggingface.co/docs/lerobot/il_robots#train-a-policy).
29
+ Below is the short version on how to train and run inference/eval:
30
+
31
+ ### Train from scratch
32
+
33
+ ```bash
34
+ lerobot-train \
35
+ --dataset.repo_id=${HF_USER}/<dataset> \
36
+ --policy.type=act \
37
+ --output_dir=outputs/train/<desired_policy_repo_id> \
38
+ --job_name=lerobot_training \
39
+ --policy.device=cuda \
40
+ --policy.repo_id=${HF_USER}/<desired_policy_repo_id>
41
+ --wandb.enable=true
42
+ ```
43
+
44
+ _Writes checkpoints to `outputs/train/<desired_policy_repo_id>/checkpoints/`._
45
+
46
+ ### Evaluate the policy/run inference
47
+
48
+ ```bash
49
+ lerobot-record \
50
+ --robot.type=so100_follower \
51
+ --dataset.repo_id=<hf_user>/eval_<dataset> \
52
+ --policy.path=<hf_user>/<desired_policy_repo_id> \
53
+ --episodes=10
54
+ ```
55
+
56
+ Prefix the dataset repo with **eval\_** and supply `--policy.path` pointing to a local or hub checkpoint.
57
+
58
+ ---
59
+
60
+ ## Model Details
61
+
62
+ - **License:** apache-2.0
config.json ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "act",
3
+ "n_obs_steps": 1,
4
+ "input_features": {
5
+ "observation.state": {
6
+ "type": "STATE",
7
+ "shape": [
8
+ 12
9
+ ]
10
+ },
11
+ "observation.images.top_depth": {
12
+ "type": "VISUAL",
13
+ "shape": [
14
+ 3,
15
+ 480,
16
+ 640
17
+ ]
18
+ },
19
+ "observation.images.left": {
20
+ "type": "VISUAL",
21
+ "shape": [
22
+ 3,
23
+ 480,
24
+ 640
25
+ ]
26
+ },
27
+ "observation.images.right": {
28
+ "type": "VISUAL",
29
+ "shape": [
30
+ 3,
31
+ 480,
32
+ 640
33
+ ]
34
+ }
35
+ },
36
+ "output_features": {
37
+ "action": {
38
+ "type": "ACTION",
39
+ "shape": [
40
+ 12
41
+ ]
42
+ }
43
+ },
44
+ "device": "cuda",
45
+ "use_amp": false,
46
+ "push_to_hub": true,
47
+ "repo_id": "SIGRoboticsUIUC/act_policy_pour",
48
+ "private": null,
49
+ "tags": null,
50
+ "license": null,
51
+ "pretrained_path": null,
52
+ "chunk_size": 100,
53
+ "n_action_steps": 100,
54
+ "normalization_mapping": {
55
+ "VISUAL": "MEAN_STD",
56
+ "STATE": "MEAN_STD",
57
+ "ACTION": "MEAN_STD"
58
+ },
59
+ "vision_backbone": "resnet18",
60
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
61
+ "replace_final_stride_with_dilation": false,
62
+ "pre_norm": false,
63
+ "dim_model": 512,
64
+ "n_heads": 8,
65
+ "dim_feedforward": 3200,
66
+ "feedforward_activation": "relu",
67
+ "n_encoder_layers": 4,
68
+ "n_decoder_layers": 1,
69
+ "use_vae": true,
70
+ "latent_dim": 32,
71
+ "n_vae_encoder_layers": 4,
72
+ "temporal_ensemble_coeff": null,
73
+ "dropout": 0.1,
74
+ "kl_weight": 10.0,
75
+ "optimizer_lr": 1e-05,
76
+ "optimizer_weight_decay": 0.0001,
77
+ "optimizer_lr_backbone": 1e-05
78
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d7b8ec0a0cb0b72ec8aca12cb1ea6ac5ad8a66ccb5595409cae63c03f4629ca
3
+ size 206748912
train_config.json ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": "SIGRoboticsUIUC/matcha-making",
4
+ "root": null,
5
+ "episodes": [
6
+ 0,
7
+ 1,
8
+ 2,
9
+ 3,
10
+ 4,
11
+ 5,
12
+ 6,
13
+ 7,
14
+ 8,
15
+ 9,
16
+ 10,
17
+ 11,
18
+ 12,
19
+ 13,
20
+ 14,
21
+ 15,
22
+ 16,
23
+ 17,
24
+ 18,
25
+ 19,
26
+ 20,
27
+ 21,
28
+ 22,
29
+ 23,
30
+ 24,
31
+ 25,
32
+ 26,
33
+ 27,
34
+ 28,
35
+ 29,
36
+ 30,
37
+ 31,
38
+ 32,
39
+ 33,
40
+ 34,
41
+ 35,
42
+ 36,
43
+ 37,
44
+ 38,
45
+ 39
46
+ ],
47
+ "image_transforms": {
48
+ "enable": false,
49
+ "max_num_transforms": 3,
50
+ "random_order": false,
51
+ "tfs": {
52
+ "brightness": {
53
+ "weight": 1.0,
54
+ "type": "ColorJitter",
55
+ "kwargs": {
56
+ "brightness": [
57
+ 0.8,
58
+ 1.2
59
+ ]
60
+ }
61
+ },
62
+ "contrast": {
63
+ "weight": 1.0,
64
+ "type": "ColorJitter",
65
+ "kwargs": {
66
+ "contrast": [
67
+ 0.8,
68
+ 1.2
69
+ ]
70
+ }
71
+ },
72
+ "saturation": {
73
+ "weight": 1.0,
74
+ "type": "ColorJitter",
75
+ "kwargs": {
76
+ "saturation": [
77
+ 0.5,
78
+ 1.5
79
+ ]
80
+ }
81
+ },
82
+ "hue": {
83
+ "weight": 1.0,
84
+ "type": "ColorJitter",
85
+ "kwargs": {
86
+ "hue": [
87
+ -0.05,
88
+ 0.05
89
+ ]
90
+ }
91
+ },
92
+ "sharpness": {
93
+ "weight": 1.0,
94
+ "type": "SharpnessJitter",
95
+ "kwargs": {
96
+ "sharpness": [
97
+ 0.5,
98
+ 1.5
99
+ ]
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "revision": null,
105
+ "use_imagenet_stats": true,
106
+ "video_backend": "torchcodec",
107
+ "streaming": false
108
+ },
109
+ "env": null,
110
+ "policy": {
111
+ "type": "act",
112
+ "n_obs_steps": 1,
113
+ "input_features": {
114
+ "observation.state": {
115
+ "type": "STATE",
116
+ "shape": [
117
+ 12
118
+ ]
119
+ },
120
+ "observation.images.top_depth": {
121
+ "type": "VISUAL",
122
+ "shape": [
123
+ 3,
124
+ 480,
125
+ 640
126
+ ]
127
+ },
128
+ "observation.images.left": {
129
+ "type": "VISUAL",
130
+ "shape": [
131
+ 3,
132
+ 480,
133
+ 640
134
+ ]
135
+ },
136
+ "observation.images.right": {
137
+ "type": "VISUAL",
138
+ "shape": [
139
+ 3,
140
+ 480,
141
+ 640
142
+ ]
143
+ }
144
+ },
145
+ "output_features": {
146
+ "action": {
147
+ "type": "ACTION",
148
+ "shape": [
149
+ 12
150
+ ]
151
+ }
152
+ },
153
+ "device": "cuda",
154
+ "use_amp": false,
155
+ "push_to_hub": true,
156
+ "repo_id": "SIGRoboticsUIUC/act_policy_pour",
157
+ "private": null,
158
+ "tags": null,
159
+ "license": null,
160
+ "pretrained_path": null,
161
+ "chunk_size": 100,
162
+ "n_action_steps": 100,
163
+ "normalization_mapping": {
164
+ "VISUAL": "MEAN_STD",
165
+ "STATE": "MEAN_STD",
166
+ "ACTION": "MEAN_STD"
167
+ },
168
+ "vision_backbone": "resnet18",
169
+ "pretrained_backbone_weights": "ResNet18_Weights.IMAGENET1K_V1",
170
+ "replace_final_stride_with_dilation": false,
171
+ "pre_norm": false,
172
+ "dim_model": 512,
173
+ "n_heads": 8,
174
+ "dim_feedforward": 3200,
175
+ "feedforward_activation": "relu",
176
+ "n_encoder_layers": 4,
177
+ "n_decoder_layers": 1,
178
+ "use_vae": true,
179
+ "latent_dim": 32,
180
+ "n_vae_encoder_layers": 4,
181
+ "temporal_ensemble_coeff": null,
182
+ "dropout": 0.1,
183
+ "kl_weight": 10.0,
184
+ "optimizer_lr": 1e-05,
185
+ "optimizer_weight_decay": 0.0001,
186
+ "optimizer_lr_backbone": 1e-05
187
+ },
188
+ "output_dir": "outputs/train/act_matcha_pour",
189
+ "job_name": "act_matcha_pour",
190
+ "resume": false,
191
+ "seed": 1000,
192
+ "num_workers": 4,
193
+ "batch_size": 8,
194
+ "steps": 100000,
195
+ "eval_freq": 20000,
196
+ "log_freq": 200,
197
+ "save_checkpoint": true,
198
+ "save_freq": 20000,
199
+ "use_policy_training_preset": true,
200
+ "optimizer": {
201
+ "type": "adamw",
202
+ "lr": 1e-05,
203
+ "weight_decay": 0.0001,
204
+ "grad_clip_norm": 10.0,
205
+ "betas": [
206
+ 0.9,
207
+ 0.999
208
+ ],
209
+ "eps": 1e-08
210
+ },
211
+ "scheduler": null,
212
+ "eval": {
213
+ "n_episodes": 50,
214
+ "batch_size": 50,
215
+ "use_async_envs": false
216
+ },
217
+ "wandb": {
218
+ "enable": true,
219
+ "disable_artifact": false,
220
+ "project": "lerobot",
221
+ "entity": null,
222
+ "notes": null,
223
+ "run_id": "cehhw1lv",
224
+ "mode": null
225
+ }
226
+ }