fatigue-injection-openpi
π0.5 (pi05) checkpoints fine-tuned from gs://openpi-assets/checkpoints/pi05_base/params with openpi on Franka Panda stack-cube rollout datasets (LeRobot v2.1 format), for studying fatigue injection.
Runs
Each run directory contains the final checkpoint (step 19999): params/ (model weights, orbax format) and assets/<asset_id>/norm_stats.json (normalization statistics).
| Path | Dataset | Seed |
|---|---|---|
pi05_fatigue_x001/seed0 |
stack_cube_rollout_with_fatigue_x001 (50 eps / 19,834 frames) | 0 |
pi05_fatigue_x001/seed1 |
stack_cube_rollout_with_fatigue_x001 | 1 |
pi05_fatigue_x001/seed2 |
stack_cube_rollout_with_fatigue_x001 | 2 |
pi05_fatigue_x002/seed0 |
stack_cube_rollout_with_fatigue_x002 (50 eps / 19,323 frames) | 0 |
pi05_fatigue_x002/seed1 |
stack_cube_rollout_with_fatigue_x002 | 1 |
pi05_fatigue_x002/seed2 |
stack_cube_rollout_with_fatigue_x002 | 2 |
pi05_baseline/seed1 |
stack_the_red_cube_yellow_cube_and_green_cube_in_order_on_the_tray_lerobot_b01_b05 (50 eps / 32,633 frames) | 1 |
pi05_baseline/seed2 |
same as above | 2 |
pi05_fatigue_cmd_x0005/seed0 |
stack_cube_rollout_with_fatigue_cmd_x0005 (50 eps / 19,763 frames) | 0 |
pi05_fatigue_cmd_x0005/seed1 |
stack_cube_rollout_with_fatigue_cmd_x0005 | 1 |
pi05_fatigue_cmd_x0005/seed2 |
stack_cube_rollout_with_fatigue_cmd_x0005 | 2 |
pi05_fatigue_cmd_x001/seed0 |
stack_cube_rollout_with_fatigue_cmd_x001 (50 eps / 19,834 frames) | 0 |
pi05_fatigue_cmd_x001/seed1 |
stack_cube_rollout_with_fatigue_cmd_x001 | 1 |
pi05_fatigue_cmd_x001/seed2 |
stack_cube_rollout_with_fatigue_cmd_x001 | 2 |
pi05_fatigue_cmd_x0015/seed0 |
stack_cube_rollout_with_fatigue_cmd_x0015 (50 eps / 19,161 frames) | 0 |
pi05_fatigue_cmd_x0015/seed1 |
stack_cube_rollout_with_fatigue_cmd_x0015 | 1 |
Task prompts: the cmd_x0005 and cmd_x001 datasets use "stack the red cube yellow cube and green cube in order on the tray"; cmd_x0015, x001, and x002 use "stack the red cube and yellow cube in order on the tray".
Note: run directories are named seedN (dataset is identified by the parent directory) because the Hugging Face API rejects paths containing the sequence /x00 (e.g. x001_seed0/), which it treats as an escaped null byte.
Training setup
- Model:
Pi0Config(pi05=True, action_dim=32, action_horizon=16) - Init:
pi05_baseparams - Steps: 20,000 (checkpoint at final step 19999)
- Batch size: 32, single A100-80GB per run
- LR: cosine decay, warmup 1k, peak 2.5e-5, decay to 2.5e-6 over 30k
- Data: 3 cameras (2 exterior + 1 wrist, 480x640), 14-dim state (cartesian pose 6 + gripper used), 7-dim delta-EEF actions, prompt from task
- Norm stats computed per dataset (included under each run's
assets/)
Usage
Download a run directory and load it with openpi's create_trained_policy, e.g.:
from openpi.policies import policy_config
from openpi.training import config as train_config
policy = policy_config.create_trained_policy(
train_config.get_config("pi05_fatigue_x001"),
"/path/to/pi05_fatigue_x001/seed0", # dir containing params/ and assets/
)