e

Robotics
LeRobot
Safetensors
pi05
Jiafei1224 commited on
Commit
b87d29c
·
verified ·
1 Parent(s): 1426765

Upload policy weights, train config and readme

Browse files
Files changed (4) hide show
  1. README.md +71 -0
  2. config.json +92 -0
  3. model.safetensors +3 -0
  4. train_config.json +224 -0
README.md ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - ai2-cortex/19012026-block-12-2
4
+ library_name: lerobot
5
+ license: apache-2.0
6
+ model_name: pi05
7
+ pipeline_tag: robotics
8
+ tags:
9
+ - robotics
10
+ - pi05
11
+ - lerobot
12
+ ---
13
+
14
+ # Model Card for pi05
15
+
16
+ <!-- Provide a quick summary of what the model is/does. -->
17
+
18
+
19
+ **π₀.₅ (Pi05) Policy**
20
+
21
+ π₀.₅ is a Vision-Language-Action model with open-world generalization, from Physical Intelligence. The LeRobot implementation is adapted from their open source OpenPI repository.
22
+
23
+ **Model Overview**
24
+
25
+ π₀.₅ represents a significant evolution from π₀, developed by Physical Intelligence to address a big challenge in robotics: open-world generalization. While robots can perform impressive tasks in controlled environments, π₀.₅ is designed to generalize to entirely new environments and situations that were never seen during training.
26
+
27
+ For more details, see the [Physical Intelligence π₀.₅ blog post](https://www.physicalintelligence.company/blog/pi05).
28
+
29
+
30
+ This policy has been trained and pushed to the Hub using [LeRobot](https://github.com/huggingface/lerobot).
31
+ See the full documentation at [LeRobot Docs](https://huggingface.co/docs/lerobot/index).
32
+
33
+ ---
34
+
35
+ ## How to Get Started with the Model
36
+
37
+ For a complete walkthrough, see the [training guide](https://huggingface.co/docs/lerobot/il_robots#train-a-policy).
38
+ Below is the short version on how to train and run inference/eval:
39
+
40
+ ### Train from scratch
41
+
42
+ ```bash
43
+ lerobot-train \
44
+ --dataset.repo_id=${HF_USER}/<dataset> \
45
+ --policy.type=act \
46
+ --output_dir=outputs/train/<desired_policy_repo_id> \
47
+ --job_name=lerobot_training \
48
+ --policy.device=cuda \
49
+ --policy.repo_id=${HF_USER}/<desired_policy_repo_id>
50
+ --wandb.enable=true
51
+ ```
52
+
53
+ _Writes checkpoints to `outputs/train/<desired_policy_repo_id>/checkpoints/`._
54
+
55
+ ### Evaluate the policy/run inference
56
+
57
+ ```bash
58
+ lerobot-record \
59
+ --robot.type=so100_follower \
60
+ --dataset.repo_id=<hf_user>/eval_<dataset> \
61
+ --policy.path=<hf_user>/<desired_policy_repo_id> \
62
+ --episodes=10
63
+ ```
64
+
65
+ Prefix the dataset repo with **eval\_** and supply `--policy.path` pointing to a local or hub checkpoint.
66
+
67
+ ---
68
+
69
+ ## Model Details
70
+
71
+ - **License:** apache-2.0
config.json ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "pi05",
3
+ "n_obs_steps": 1,
4
+ "input_features": {
5
+ "observation.state": {
6
+ "type": "STATE",
7
+ "shape": [
8
+ 14
9
+ ]
10
+ },
11
+ "observation.images.right": {
12
+ "type": "VISUAL",
13
+ "shape": [
14
+ 3,
15
+ 360,
16
+ 640
17
+ ]
18
+ },
19
+ "observation.images.left": {
20
+ "type": "VISUAL",
21
+ "shape": [
22
+ 3,
23
+ 360,
24
+ 640
25
+ ]
26
+ },
27
+ "observation.images.top": {
28
+ "type": "VISUAL",
29
+ "shape": [
30
+ 3,
31
+ 360,
32
+ 640
33
+ ]
34
+ }
35
+ },
36
+ "output_features": {
37
+ "action": {
38
+ "type": "ACTION",
39
+ "shape": [
40
+ 14
41
+ ]
42
+ }
43
+ },
44
+ "device": "cuda",
45
+ "use_amp": false,
46
+ "push_to_hub": true,
47
+ "repo_id": "Jiafei1224/e",
48
+ "private": null,
49
+ "tags": null,
50
+ "license": null,
51
+ "pretrained_path": "lerobot/pi05_base",
52
+ "paligemma_variant": "gemma_2b",
53
+ "action_expert_variant": "gemma_300m",
54
+ "dtype": "bfloat16",
55
+ "chunk_size": 50,
56
+ "n_action_steps": 50,
57
+ "max_state_dim": 32,
58
+ "max_action_dim": 32,
59
+ "num_inference_steps": 10,
60
+ "time_sampling_beta_alpha": 1.5,
61
+ "time_sampling_beta_beta": 1.0,
62
+ "time_sampling_scale": 0.999,
63
+ "time_sampling_offset": 0.001,
64
+ "min_period": 0.004,
65
+ "max_period": 4.0,
66
+ "rtc_config": null,
67
+ "image_resolution": [
68
+ 224,
69
+ 224
70
+ ],
71
+ "empty_cameras": 0,
72
+ "tokenizer_max_length": 200,
73
+ "normalization_mapping": {
74
+ "VISUAL": "IDENTITY",
75
+ "STATE": "QUANTILES",
76
+ "ACTION": "QUANTILES"
77
+ },
78
+ "gradient_checkpointing": true,
79
+ "compile_model": false,
80
+ "compile_mode": "max-autotune",
81
+ "optimizer_lr": 2.5e-05,
82
+ "optimizer_betas": [
83
+ 0.9,
84
+ 0.95
85
+ ],
86
+ "optimizer_eps": 1e-08,
87
+ "optimizer_weight_decay": 0.01,
88
+ "optimizer_grad_clip_norm": 1.0,
89
+ "scheduler_warmup_steps": 1000,
90
+ "scheduler_decay_steps": 30000,
91
+ "scheduler_decay_lr": 2.5e-06
92
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6a1cd85e965cfd20e66cbb88d59afd1b36356ebab5f5efbd1482c429e2c28930
3
+ size 7473096344
train_config.json ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": [
4
+ "ai2-cortex/19012026-block-12-2"
5
+ ],
6
+ "root": null,
7
+ "episodes": null,
8
+ "image_transforms": {
9
+ "enable": false,
10
+ "max_num_transforms": 3,
11
+ "random_order": false,
12
+ "tfs": {
13
+ "brightness": {
14
+ "weight": 1.0,
15
+ "type": "ColorJitter",
16
+ "kwargs": {
17
+ "brightness": [
18
+ 0.8,
19
+ 1.2
20
+ ]
21
+ }
22
+ },
23
+ "contrast": {
24
+ "weight": 1.0,
25
+ "type": "ColorJitter",
26
+ "kwargs": {
27
+ "contrast": [
28
+ 0.8,
29
+ 1.2
30
+ ]
31
+ }
32
+ },
33
+ "saturation": {
34
+ "weight": 1.0,
35
+ "type": "ColorJitter",
36
+ "kwargs": {
37
+ "saturation": [
38
+ 0.5,
39
+ 1.5
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
+ "sharpness": {
54
+ "weight": 1.0,
55
+ "type": "SharpnessJitter",
56
+ "kwargs": {
57
+ "sharpness": [
58
+ 0.5,
59
+ 1.5
60
+ ]
61
+ }
62
+ },
63
+ "affine": {
64
+ "weight": 1.0,
65
+ "type": "RandomAffine",
66
+ "kwargs": {
67
+ "degrees": [
68
+ -5.0,
69
+ 5.0
70
+ ],
71
+ "translate": [
72
+ 0.05,
73
+ 0.05
74
+ ]
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "revision": null,
80
+ "use_imagenet_stats": true,
81
+ "video_backend": "torchcodec",
82
+ "streaming": false
83
+ },
84
+ "env": null,
85
+ "policy": {
86
+ "type": "pi05",
87
+ "n_obs_steps": 1,
88
+ "input_features": {
89
+ "observation.state": {
90
+ "type": "STATE",
91
+ "shape": [
92
+ 14
93
+ ]
94
+ },
95
+ "observation.images.right": {
96
+ "type": "VISUAL",
97
+ "shape": [
98
+ 3,
99
+ 360,
100
+ 640
101
+ ]
102
+ },
103
+ "observation.images.left": {
104
+ "type": "VISUAL",
105
+ "shape": [
106
+ 3,
107
+ 360,
108
+ 640
109
+ ]
110
+ },
111
+ "observation.images.top": {
112
+ "type": "VISUAL",
113
+ "shape": [
114
+ 3,
115
+ 360,
116
+ 640
117
+ ]
118
+ }
119
+ },
120
+ "output_features": {
121
+ "action": {
122
+ "type": "ACTION",
123
+ "shape": [
124
+ 14
125
+ ]
126
+ }
127
+ },
128
+ "device": "cuda",
129
+ "use_amp": false,
130
+ "push_to_hub": true,
131
+ "repo_id": "Jiafei1224/e",
132
+ "private": null,
133
+ "tags": null,
134
+ "license": null,
135
+ "pretrained_path": "lerobot/pi05_base",
136
+ "paligemma_variant": "gemma_2b",
137
+ "action_expert_variant": "gemma_300m",
138
+ "dtype": "bfloat16",
139
+ "chunk_size": 50,
140
+ "n_action_steps": 50,
141
+ "max_state_dim": 32,
142
+ "max_action_dim": 32,
143
+ "num_inference_steps": 10,
144
+ "time_sampling_beta_alpha": 1.5,
145
+ "time_sampling_beta_beta": 1.0,
146
+ "time_sampling_scale": 0.999,
147
+ "time_sampling_offset": 0.001,
148
+ "min_period": 0.004,
149
+ "max_period": 4.0,
150
+ "rtc_config": null,
151
+ "image_resolution": [
152
+ 224,
153
+ 224
154
+ ],
155
+ "empty_cameras": 0,
156
+ "tokenizer_max_length": 200,
157
+ "normalization_mapping": {
158
+ "VISUAL": "IDENTITY",
159
+ "STATE": "QUANTILES",
160
+ "ACTION": "QUANTILES"
161
+ },
162
+ "gradient_checkpointing": true,
163
+ "compile_model": false,
164
+ "compile_mode": "max-autotune",
165
+ "optimizer_lr": 2.5e-05,
166
+ "optimizer_betas": [
167
+ 0.9,
168
+ 0.95
169
+ ],
170
+ "optimizer_eps": 1e-08,
171
+ "optimizer_weight_decay": 0.01,
172
+ "optimizer_grad_clip_norm": 1.0,
173
+ "scheduler_warmup_steps": 1000,
174
+ "scheduler_decay_steps": 30000,
175
+ "scheduler_decay_lr": 2.5e-06
176
+ },
177
+ "output_dir": "outputs/pi05-test",
178
+ "job_name": "pi05_training",
179
+ "resume": false,
180
+ "seed": 1000,
181
+ "num_workers": 4,
182
+ "batch_size": 64,
183
+ "steps": 100,
184
+ "eval_freq": 20000,
185
+ "log_freq": 200,
186
+ "tolerance_s": 0.0001,
187
+ "save_checkpoint": true,
188
+ "save_freq": 50,
189
+ "use_policy_training_preset": true,
190
+ "optimizer": {
191
+ "type": "adamw",
192
+ "lr": 2.5e-05,
193
+ "weight_decay": 0.01,
194
+ "grad_clip_norm": 1.0,
195
+ "betas": [
196
+ 0.9,
197
+ 0.95
198
+ ],
199
+ "eps": 1e-08
200
+ },
201
+ "scheduler": {
202
+ "type": "cosine_decay_with_warmup",
203
+ "num_warmup_steps": 1000,
204
+ "num_decay_steps": 30000,
205
+ "peak_lr": 2.5e-05,
206
+ "decay_lr": 2.5e-06
207
+ },
208
+ "eval": {
209
+ "n_episodes": 50,
210
+ "batch_size": 50,
211
+ "use_async_envs": false
212
+ },
213
+ "wandb": {
214
+ "enable": false,
215
+ "disable_artifact": false,
216
+ "project": "pi05-multi-test",
217
+ "entity": null,
218
+ "notes": null,
219
+ "run_id": null,
220
+ "mode": null
221
+ },
222
+ "checkpoint_path": null,
223
+ "rename_map": {}
224
+ }