This document provides instructions for reproducing our experimental results with LIBERO.
The evaluation process consists of two main parts:
- Setting up the
LIBEROenvironment and dependencies. - Running the evaluation by launching services in both
starVLAandLIBEROenvironments.
We have verified that this workflow runs successfully on both NVIDIA A100 and RTX 4090 GPUs.
💡 AMD GPU Support: Community members have verified that starVLA also works on AMD Instinct MI300X GPUs with ROCm 6.4 — with zero source code changes. The only modification needed is setting
--framework.qwenvl.attn_implementation sdpa. For a detailed setup guide and benchmark results, see Issue #254.
We provide a collection of pretrained checkpoints on Hugging Face to make community evaluation easier: 🤗 StarVLA/bench-libero. Their corresponding results on LIBERO are summarized in the table below.
| Model | Steps | Epochs | Spatial | Object | Goal | Long | Avg |
|---|---|---|---|---|---|---|---|
|
|
- | - | 96.4 | 96.8 | 88.6 | 60.2 | 85.5 |
| OpenVLA-OFT | 175K | 223 | 97.6 | 98.4 | 97.9 | 94.5 | 97.1 |
| - | - | 96.8 | 98.8 | 95.8 | 85.2 | 94.1 | |
| GR00T-N1.5 | 20K | 203 | 92.0 | 92.0 | 86.0 | 76.0 | 86.5 |
| StarVLA-FAST (Qwen2.5-VL) | 30K | 9.54 | 97.3 | 97.2 | 96.1 | 90.2 | 95.2 |
| StarVLA-OFT (Qwen2.5-VL) | 30K | 9.54 | 97.4 | 98.0 | 96.8 | 92.0 | 96.1 |
| StarVLA-π (Qwen2.5-VL) | 30K | 9.54 | 98.2 | 99.2 | 95.6 | 88.4 | 95.4 |
| StarVLA-GR00T (Qwen2.5-VL) | 30K | 9.54 | 97.8 | 98.2 | 94.6 | 90.8 | 95.4 |
| StarVLA-FAST (Qwen3-VL) | 30K | 9.54 | 97.3 | 97.4 | 96.3 | 90.6 | 95.4 |
| StarVLA-OFT (Qwen3-VL) | 30K | 9.54 | 97.8 | 98.6 | 96.2 | 93.8 | 96.6 |
| StarVLA-π (Qwen3-VL) | 30K | 9.54 | 98.8 | 99.6 | 95.8 | 88.4 | 95.7 |
| StarVLA-GR00T (Qwen3-VL) | 30K | 9.54 | 97.8 | 98.8 | 97.4 | 92.0 | 96.5 |
We train one policy for all 4 suites. All scores are averaged over 500 trials for each task suite (10 tasks × 50 episodes).
To set up the environment, please first follow the official LIBERO repository to install the base LIBERO environment.
Afterwards, inside the LIBERO environment, install the following dependencies:
pip install tyro matplotlib mediapy websockets msgpack
pip install numpy==1.24.4 mujoco==3.2.3The evaluation should be run from the repository root using two separate terminals, one for each environment:
- starVLA environment: runs the inference server.
- LIBERO environment: runs the simulation.
In the first terminal, activate the starVLA conda environment and run:
bash examples/simBenchmarks/LIBERO/eval_files/run_policy_server.shexamples/simBenchmarks/LIBERO/eval_files/run_policy_server.sh
PR #373 introduced the canonical LayerwiseFM path used by current and newly
trained models. The released StarVLA/Qwen3-VL-PI-LIBERO-4in1 checkpoint was
trained with historical LayerwiseFM semantics, so evaluate that checkpoint with
the compatibility override below:
CKPT=/path/to/StarVLA/Qwen3-VL-PI-LIBERO-4in1/checkpoints/steps_100000_pytorch_model.pt \
USE_CANONICAL_FORWARD=false \
bash examples/simBenchmarks/LIBERO/eval_files/run_policy_server.shWhen USE_CANONICAL_FORWARD is unset, the server keeps the canonical default.
Do not edit the checkpoint config.yaml; use the launcher override instead.
The released checkpoint config uses 4 inference steps.
In the second terminal, activate the LIBERO conda environment and run:
bash examples/simBenchmarks/LIBERO/eval_files/eval_libero.sheval_libero.sh to load action unnormalization stats.
Also ensure the environment variables at the top of eval_libero.sh are correctly set.
Finally, each result will also save a video for visualization, as shown below:
Download the datasets to the playground/Datasets/LEROBOT_LIBERO_DATA directory:
And move modality.json to each $LEROBOT_LIBERO_DATA/subset/meta/modality.json.
You could quickly prepare these by running:
# Set DEST to the directory where you want to store the data
export DEST=/path/to/your/data/directory
bash examples/simBenchmarks/LIBERO/data_preparation.shMost of the required training files have been organized in train_files.
Please run the following command to start training:
bash examples/simBenchmarks/LIBERO/train_files/run_libero_train.shexamples/simBenchmarks/LIBERO/train_files/run_libero_train.sh
