Robotics
LeRobot
Safetensors
pi05
Jiafei1224 commited on
Commit
ce7d415
·
verified ·
1 Parent(s): 4ad4b8e

Upload policy weights, train config and readme

Browse files
Files changed (4) hide show
  1. README.md +71 -0
  2. config.json +84 -0
  3. model.safetensors +3 -0
  4. train_config.json +216 -0
README.md ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - TreeePlanter/molmoact2_real_droid_test
4
+ library_name: lerobot
5
+ license: apache-2.0
6
+ model_name: pi05
7
+ pipeline_tag: robotics
8
+ tags:
9
+ - robotics
10
+ - lerobot
11
+ - pi05
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,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "pi05",
3
+ "n_obs_steps": 1,
4
+ "input_features": {
5
+ "observation.state": {
6
+ "type": "STATE",
7
+ "shape": [
8
+ 8
9
+ ]
10
+ },
11
+ "observation.images.shoulder_camera": {
12
+ "type": "VISUAL",
13
+ "shape": [
14
+ 3,
15
+ 256,
16
+ 256
17
+ ]
18
+ },
19
+ "observation.images.wrist_camera": {
20
+ "type": "VISUAL",
21
+ "shape": [
22
+ 3,
23
+ 256,
24
+ 256
25
+ ]
26
+ }
27
+ },
28
+ "output_features": {
29
+ "action": {
30
+ "type": "ACTION",
31
+ "shape": [
32
+ 7
33
+ ]
34
+ }
35
+ },
36
+ "device": "cuda",
37
+ "use_amp": false,
38
+ "push_to_hub": true,
39
+ "repo_id": "Jiafei1224/pi-real",
40
+ "private": null,
41
+ "tags": null,
42
+ "license": null,
43
+ "pretrained_path": "lerobot/pi05_base",
44
+ "paligemma_variant": "gemma_2b",
45
+ "action_expert_variant": "gemma_300m",
46
+ "dtype": "bfloat16",
47
+ "chunk_size": 50,
48
+ "n_action_steps": 50,
49
+ "max_state_dim": 32,
50
+ "max_action_dim": 32,
51
+ "num_inference_steps": 10,
52
+ "time_sampling_beta_alpha": 1.5,
53
+ "time_sampling_beta_beta": 1.0,
54
+ "time_sampling_scale": 0.999,
55
+ "time_sampling_offset": 0.001,
56
+ "min_period": 0.004,
57
+ "max_period": 4.0,
58
+ "rtc_config": null,
59
+ "image_resolution": [
60
+ 224,
61
+ 224
62
+ ],
63
+ "empty_cameras": 0,
64
+ "tokenizer_max_length": 200,
65
+ "normalization_mapping": {
66
+ "VISUAL": "IDENTITY",
67
+ "STATE": "QUANTILES",
68
+ "ACTION": "QUANTILES"
69
+ },
70
+ "gradient_checkpointing": true,
71
+ "compile_model": false,
72
+ "compile_mode": "max-autotune",
73
+ "optimizer_lr": 2.5e-05,
74
+ "optimizer_betas": [
75
+ 0.9,
76
+ 0.95
77
+ ],
78
+ "optimizer_eps": 1e-08,
79
+ "optimizer_weight_decay": 0.01,
80
+ "optimizer_grad_clip_norm": 1.0,
81
+ "scheduler_warmup_steps": 1000,
82
+ "scheduler_decay_steps": 30000,
83
+ "scheduler_decay_lr": 2.5e-06
84
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41dd91685e23f3c7faf9aeb4b8dbaa5504306148a9a1f4df44bef81f8045d8c2
3
+ size 7473096344
train_config.json ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "repo_id": [
4
+ "TreeePlanter/molmoact2_real_droid_test"
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
+ 8
93
+ ]
94
+ },
95
+ "observation.images.shoulder_camera": {
96
+ "type": "VISUAL",
97
+ "shape": [
98
+ 3,
99
+ 256,
100
+ 256
101
+ ]
102
+ },
103
+ "observation.images.wrist_camera": {
104
+ "type": "VISUAL",
105
+ "shape": [
106
+ 3,
107
+ 256,
108
+ 256
109
+ ]
110
+ }
111
+ },
112
+ "output_features": {
113
+ "action": {
114
+ "type": "ACTION",
115
+ "shape": [
116
+ 7
117
+ ]
118
+ }
119
+ },
120
+ "device": "cuda",
121
+ "use_amp": false,
122
+ "push_to_hub": true,
123
+ "repo_id": "Jiafei1224/pi-real",
124
+ "private": null,
125
+ "tags": null,
126
+ "license": null,
127
+ "pretrained_path": "lerobot/pi05_base",
128
+ "paligemma_variant": "gemma_2b",
129
+ "action_expert_variant": "gemma_300m",
130
+ "dtype": "bfloat16",
131
+ "chunk_size": 50,
132
+ "n_action_steps": 50,
133
+ "max_state_dim": 32,
134
+ "max_action_dim": 32,
135
+ "num_inference_steps": 10,
136
+ "time_sampling_beta_alpha": 1.5,
137
+ "time_sampling_beta_beta": 1.0,
138
+ "time_sampling_scale": 0.999,
139
+ "time_sampling_offset": 0.001,
140
+ "min_period": 0.004,
141
+ "max_period": 4.0,
142
+ "rtc_config": null,
143
+ "image_resolution": [
144
+ 224,
145
+ 224
146
+ ],
147
+ "empty_cameras": 0,
148
+ "tokenizer_max_length": 200,
149
+ "normalization_mapping": {
150
+ "VISUAL": "IDENTITY",
151
+ "STATE": "QUANTILES",
152
+ "ACTION": "QUANTILES"
153
+ },
154
+ "gradient_checkpointing": true,
155
+ "compile_model": false,
156
+ "compile_mode": "max-autotune",
157
+ "optimizer_lr": 2.5e-05,
158
+ "optimizer_betas": [
159
+ 0.9,
160
+ 0.95
161
+ ],
162
+ "optimizer_eps": 1e-08,
163
+ "optimizer_weight_decay": 0.01,
164
+ "optimizer_grad_clip_norm": 1.0,
165
+ "scheduler_warmup_steps": 1000,
166
+ "scheduler_decay_steps": 30000,
167
+ "scheduler_decay_lr": 2.5e-06
168
+ },
169
+ "output_dir": "outputs/pi05_multi-steermix-Jiafei1224_pi-05-real",
170
+ "job_name": "pi05_training",
171
+ "resume": false,
172
+ "seed": 1000,
173
+ "num_workers": 4,
174
+ "batch_size": 32,
175
+ "steps": 8000,
176
+ "eval_freq": 20000,
177
+ "log_freq": 200,
178
+ "tolerance_s": 0.0001,
179
+ "save_checkpoint": true,
180
+ "save_freq": 1000,
181
+ "use_policy_training_preset": true,
182
+ "optimizer": {
183
+ "type": "adamw",
184
+ "lr": 2.5e-05,
185
+ "weight_decay": 0.01,
186
+ "grad_clip_norm": 1.0,
187
+ "betas": [
188
+ 0.9,
189
+ 0.95
190
+ ],
191
+ "eps": 1e-08
192
+ },
193
+ "scheduler": {
194
+ "type": "cosine_decay_with_warmup",
195
+ "num_warmup_steps": 1000,
196
+ "num_decay_steps": 30000,
197
+ "peak_lr": 2.5e-05,
198
+ "decay_lr": 2.5e-06
199
+ },
200
+ "eval": {
201
+ "n_episodes": 50,
202
+ "batch_size": 50,
203
+ "use_async_envs": false
204
+ },
205
+ "wandb": {
206
+ "enable": false,
207
+ "disable_artifact": false,
208
+ "project": "GroundedVLA",
209
+ "entity": null,
210
+ "notes": null,
211
+ "run_id": null,
212
+ "mode": null
213
+ },
214
+ "checkpoint_path": null,
215
+ "rename_map": {}
216
+ }