File size: 2,222 Bytes
1b776b5
 
 
 
 
 
 
 
 
 
 
32e46c4
1b776b5
32e46c4
1b776b5
 
 
 
 
 
 
 
 
 
 
34a7600
1b776b5
 
 
 
32e46c4
1b776b5
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# GeoPi0-real-robot

PyTorch `pi0` policy fine-tuned on the local UR5 real-robot LeRobot-format dataset with the stage-2 foreground cross-view distillation setup:

- dataset: `ur5_lab_test_tube_camera_shifts`
- training config name: `pi0_ur5_real_robot_pytorch_cross_attn_fg_distill_stage2_hard`
- experiment name: `pi0_ur5_real_robot_cross_attn_fg_distill_hard_stage2_2gpu`
- base camera view: `observation.images.context_left_rgb`
- wrist camera view: `observation.images.wrist_right_rgb`
- base model init: `/scratch/yz11445/pi0_base`
- stage-1 init weights: `/scratch/yz11445/tmp/openpi_cam/checkpoints/pi0_ur5_real_robot_pytorch_cross_attn_fg_distill_stage1_hard/pi0_ur5_real_robot_cross_attn_fg_distill_hard_stage1/5000`
- currently included checkpoint steps: `20000`, `25000`, `30000`

This run has completed through `30000` steps.

## Included Files

- `config.json`: base Pi0 model config copied from the initialization checkpoint
- `model_architecture_config.json`: fine-tuned architecture settings used by this run
- `training_config_summary.json`: training/data/run summary for this release
- `assets/ur5_lab_test_tube_camera_shifts/norm_stats.json`: normalization statistics
- `checkpoints/<step>/`: checkpoint snapshots with `model.safetensors`, `metadata.pt`, `optimizer.pt`, and copied assets

## Inference

Serve one of the included checkpoints with:

```bash
uv run scripts/serve_policy.py policy:checkpoint \
  --policy.config=pi0_ur5_real_robot_pytorch_cross_attn_fg_distill_stage2_hard \
  --policy.dir=/path/to/GeoPi0-real-robot/checkpoints/30000
```

## Notes

- The policy loader uses the code-defined training config `pi0_ur5_real_robot_pytorch_cross_attn_fg_distill_stage2_hard` from `src/openpi/training/config.py`.
- This stage-2 variant keeps the foreground cross-view topology and auxiliary point head, while leaving PRoPE/ray branches disabled for the current UR5 dataset.
- Normalization stats are loaded from `assets/ur5_lab_test_tube_camera_shifts/norm_stats.json` inside each checkpoint directory.
- Tokenizer assets are not bundled in this release directory. In this codebase, the Pi0 tokenizer is loaded at runtime from external sources referenced in `src/openpi/models/tokenizer.py`.