| --- |
| license: cc-by-nc-4.0 |
| tags: [robotics, vla, pi05, openpi, manipulation] |
| --- |
| |
| # hist3 |
|
|
| Three frames at 0.5 s spacing plus a relative-motion state (recent pose deltas rather than an absolute pose). |
|
|
| | | | |
| |---|---| |
| | training config | `pi05_frame_hist3` | |
| | checkpoint step | 7,279 of 7,280 | |
| | samples seen | 232,928 | |
| | batch size | 32 | |
| | peak LR | 0.0005, cosine over 7,280 steps | |
| | conditioning | 3 frame(s), state `relative_history` | |
| | action space | relative EE, `world_rotvec`, horizon 50 | |
| | base weights | `pi05_base` (PyTorch), LoRA r16 `all_linear` | |
| | frame yaw aug | none | |
| | normalizer key | `mix/tuned_h50_relative_history3` | |
|
|
| ## Contents |
|
|
| - `model.safetensors` — the weights |
| - `norm_stats.json` — the quantile normalizer this checkpoint was trained against. Not |
| interchangeable between variants: the absolute-pose and relative-motion state |
| representations have different scales, and using the wrong one silently rescales output. |
| - `train_config.json` — the resolved training config |
| - `mixture.json` — dataset sampling weights |
|
|
| ## Loading |
|
|
| ```python |
| from experiments.infer import VariantPolicy |
| policy = VariantPolicy.load("hist3") |
| actions = policy.infer(images, poses, prompt) # absolute EE targets, [horizon, 10] |
| ``` |
|
|
| ## Provenance |
|
|
| Trained from `pi05_base` (Physical Intelligence openpi) on cong-lab manipulation data plus a |
| DROID subset. Inherits the licence terms of both. |
|
|
| ## Caveats |
|
|
| Trained on a 12-hour single-GPU budget, which is roughly 0.05 of one pass |
| over the 4,245,385-sample mixture. These are ablation checkpoints for a specific |
| comparison, not a converged production policy. |
|
|