Downloads · 30 days
21
18% of all-time downloads
RyuRobot/pi05_sock_in_bowl_lora_July_10_2026
pi05_sock_in_bowl_lora_July_10_2026 is a robotics model from RyuRobot. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for lerobot. The card lists the license as apache-2.0.
The LoRA adapter from the 15,000-step fine-tune of π₀.₅ (pi05) on RyuRobot/Sock-in-bowl-run-2, for driving an SO-101 follower arm to pick up a sock and drop it into a bowl. This is the adapter that lerobot-train auto-…
Downloads · 30 days
21
18% of all-time downloads
All-time downloads
114
Public
Repo size
10.3 MB
Likes
0
Public
Click a slice to open those files.
.safetensors10.3 MB · 100%
From the Hugging Face model README
The LoRA adapter from the 15,000-step fine-tune of π₀.₅ (pi05) on RyuRobot/Sock-in-bowl-run-2, for driving an SO-101 follower arm to pick up a sock and drop it into a bowl. This is the adapter that lerobot-train auto-pushes at end of training — the small (~10 MB) set of trained weights, not a standalone model.
Which repo do I want?
- Serving on the robot (real-time): use the merged standalone model →
…_July_10_2026_merged. The async policy server cannot load a raw adapter — it must be merged first.- Resuming / continuing training: use the checkpoint archive →
…_July_10_2026_ckpts. This adapter alone has notraining_state/, so it can't be resumed.- This repo is the adapter itself:
adapter_model.safetensors+adapter_config.json+config.json+ the fine-tunedpolicy_*normalizer files.
⚠️ Camera mapping. Trained with two views by key:
front= workspace / third-person,wrist= gripper close-up. At inference the same keys must map to the same physical cameras (index0→front, index1→wrist), or the arm moves smoothly toward the wrong targets.
lerobot/pi05_base (loaded automatically; the adapter's adapter_config.json records it as base_model_name_or_path).so101_follower (6-DoF); cameras: front + wrist, 640×480 @ 20 FPS.n_action_steps = 50, n_obs_steps = 1.STATE / ACTION = QUANTILES, VISUAL = IDENTITY.| Setting | Value |
|---|---|
| Base model | lerobot/pi05_base |
| Dataset | RyuRobot/Sock-in-bowl-run-2 — 79 episodes · 20 FPS · front/wrist views |
| Method | LoRA (🤗 PEFT), r = 32 |
| Steps | 15,000 |
| Batch size | 32 (gradient_checkpointing = true, bf16) |
| Optimizer | AdamW |
| LR schedule | cosine decay with warmup — peak 2.5e-4 → floor 2.5e-5, 1,000-step warmup, 15,000-step decay |
| Task string | "Sock-in-bowl" |
| Final train loss | ≈ 0.069 |
| Hardware | single H100 80GB, ~5 h |
For a quick eval on a GPU box you can load the base and this adapter together — the saved config.json carries use_peft: true and the base repo, so LeRobot loads pi05_base + the adapter via PEFT:
lerobot-rollout \
--policy.path=RyuRobot/pi05_sock_in_bowl_lora_July_10_2026 \
--policy.use_peft=true \
...
Note π₀.₅ is a ~4B VLA and is too slow on Apple-silicon (MPS) for real-time control — for the actual arm run, serve the merged model on a cloud GPU via the async policy server (recipe on that model's card).
RyuRobot/pi05_sock_in_bowl_lora_July_10_2026_mergedtraining_state/): RyuRobot/pi05_sock_in_bowl_lora_July_10_2026_ckptsRyuRobot/Sock-in-bowl-run-2Not yet evaluated on the real robot. Run it several times per task and record the success rate (successes / trials), noting object positions, lighting, and distractors.
@misc{cadene2024lerobot,
author = {Cadene, Remi and Alibert, Simon and Soare, Alexander and Gallouedec, Quentin and Zouitine, Adil and Palma, Steven and Kooijmans, Pepijn and Aractingi, Michel and Shukor, Mustafa and Aubakirova, Dana and Russi, Martino and Capuano, Francesco and Pascal, Caroline and Choghari, Jade and Moss, Jess and Wolf, Thomas},
title = {LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch},
howpublished = "\url{https://github.com/huggingface/lerobot}",
year = {2024}
}
π₀.₅ (pi05) is from Physical Intelligence — see the openpi repository.