openpi holds open-source models and packages for robotics, published by the Physical Intelligence team.
Currently, this repo contains two types of models:
- the π₀ model, a flow-based diffusion vision-language-action model (VLA)
- the π₀-FAST model, an autoregressive VLA, based on the FAST action tokenizer.
For both models, we provide base model checkpoints, pre-trained on 10k+ hours of robot data, and examples for using them out of the box or fine-tuning them to your own datasets.
This is an experiment:
🚨 NOTICE:The repository is a fork that adapts the source repository to VLABench's training and evaluation, and is used as a submodule of VLABench. Please refer to here for pi0 evaluation on vlabench. For finetuning, please refer to the script train_vlabench_primitive.sh.
Suppose you have create env vlabench following the instrution in VLABench.
Now,
conda activate vlabench
pip install uv
GIT_LFS_SKIP_SMUDGE=1 uv syncThis will create a venv in openpi directory.
You can diy your training config in here, such as, create a new TrainConfig named vlabench_test.
Then you should compute the corresponing data norm stats by running
uv run scripts/compute_norm_stats.py --config-name vlabench_testThis will create a norm_stats.json in assets/vlabench_test
After getting the norm stats, you can train your policies by:
bash train.sh vlabench_testYou should replace vlabench_test by the config name you create.
After training, you will get some model checkpoints in checkpoints directory. Then, run the multi-gpu evaluation in vlabench conda env by:
bash run_eval.sh vlabench_test checkpoint_path --track xx --task xxYou will get the metric.json in evaluation_results and a figure auto drawed in that directory.