Robotics
LeRobot
Safetensors
pi0
pi0_so101 / README.md
Jingyi-Z's picture
Upload policy weights, train config and readme
dfd4def verified
|
Raw
History Blame Contribute Delete
6.31 kB
metadata
base_model: lerobot/pi0_base
datasets: Lnrbhaw/so101-pickplacetest_20260615_113608
library_name: lerobot
license: apache-2.0
model_name: pi0
pipeline_tag: robotics
tags:
  - pi0
  - robotics
  - lerobot

Model Card for pi0

π₀ (Pi0) is a general-purpose robot foundation model from Physical Intelligence: a generalist Vision-Language-Action policy that understands visual inputs, interprets natural language instructions, and controls a variety of different robots across diverse tasks. The LeRobot implementation is adapted from their open-source OpenPI repository.

pi0 architecture

This policy has been trained and pushed to the Hub using LeRobot.

Learn how to train and run it in the LeRobot pi0 guide, or browse the full documentation.


Model Details

  • License: apache-2.0
  • Fine-tuned from: lerobot/pi0_base
  • Robot type: so_follower
  • Cameras: wrist, top

Inputs & Outputs

The policy consumes these observation features and produces these action features.

Inputs

Feature Type Shape
observation.state STATE (6,)
observation.images.wrist VISUAL (3, 480, 640)
observation.images.top VISUAL (3, 480, 640)

Outputs

Feature Type Shape
action ACTION (6,)

Training Dataset

Training Configuration

Setting Value
Training steps 3000
Batch size 4
Optimizer adamw
Learning rate 2.5e-05
Seed 1000
LeRobot version 0.5.2

How to Get Started with the Model

New to LeRobot? These guides cover the full workflow:

The short version to run and train this policy:

Run the policy on your robot

lerobot-rollout \
  --strategy.type=base \
  --robot.type=so_follower \
  --robot.port=<your_robot_port> \
  --robot.cameras="{ <camera_1>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}, <camera_2>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}}" \
  --policy.path=Jingyi-Z/pi0_so101 \
  --task="Pick up the red ball and place it in the plastic bowl" \
  --duration=60

Replace the remaining <...> placeholders with your own values: --robot.port and the camera names/indices are specific to your machine, and the camera names must match the observation keys this policy was trained on.

When --strategy.type=base is used the script doesn't record the episodes. Skipping duration will make the policy run indefinitely. For more information look at rollout documentation.

Train your own policy

This policy type is usually fine-tuned from the pretrained base model lerobot/pi0_base:

lerobot-train \
  --dataset.repo_id=${HF_USER}/<dataset> \
  --policy.path=lerobot/pi0_base \
  --output_dir=outputs/train/<policy_repo_id> \
  --job_name=lerobot_training \
  --policy.device=cuda \
  --policy.repo_id=${HF_USER}/<policy_repo_id> \
  --wandb.enable=true

Writes checkpoints to outputs/train/<policy_repo_id>/checkpoints/.


Evaluation

No evaluation results have been provided for this policy yet.


Citation

If you use this policy, please cite the method linked in the description above, along with LeRobot:

@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}
}