CoolFace
Modelpublic

Dongkkka/pi0_dashboard_0904_20k_16bs

sourceHugging Facegemmaupdated 18d agoView on Hugging Face
0likes28downloads
Model Card

PI0: Cyclo dashboard, 20,000 steps, batch size 16

Final 20,000-step checkpoint for pick up the bottle and place it into basket. The trained LoRA adapter is merged into its pinned base model for ordinary LeRobot policy loading. Saved processors and normalization statistics are included.

Training

  • —Batch size: 16; optimizer steps: 20,000; seed: 42.
  • —Base: lerobot/pi0_base, revision 25c379b52ba2ff8788cab921758a3cc3fe3f77f2.
  • —LoRA rank 16, alpha 32; BF16; learning rate 1e-4 to 1e-5; warmup 1,000.
  • —All 28 episodes / 5,133 frames used for training; no held-out split.
  • —Cameras: observation.images.rgb.cam_left_head, observation.images.rgb.cam_left_wrist, observation.images.rgb.cam_right_wrist.
  • —State/action dimension: 22; action chunk: 50.
  • —First 19 action channels are absolute joint positions; last three are mobile-base velocities.
  • —State and action use the saved mean/std normalization; relative actions are disabled.

Loading

python
from lerobot.policies.pi0.modeling_pi0 import PI0Policy
from lerobot.policies.factory import make_pre_post_processors

repo_id = "Dongkkka/pi0_dashboard_0904_20k_16bs"
policy = PI0Policy.from_pretrained(repo_id).to("cuda").eval()
preprocessor, postprocessor = make_pre_post_processors(
    policy.config, pretrained_path=repo_id,
    preprocessor_overrides={"device_processor": {"device": "cuda"}},
)

Use the Cyclo LeRobot environment used for training. The saved processor references the google/paligemma-3b-pt-224 tokenizer, which is fetched separately when needed. train_config.json preserves the original training paths and LoRA configuration for provenance; the published model itself has the adapter merged. Optimizer and resume states remain in the local training checkpoint.

Verification

Training completed successfully at step 20,000. Base weights loaded strictly and all loaded adapter tensors matched the saved adapter exactly. Safe merging, saved-weight comparisons after reload, and finite (1, 50, 22) inference from one training observation passed. BF16 before/after merge differences are recorded in merge_report.json. This is a serialization and inference check, not a robot success-rate or held-out generalization evaluation.