Zenma/VLA-Adapter-LIBERO-Spatial-5000
VLA-Adapter-LIBERO-Spatial-5000
VLA-Adapter policy: a Qwen2.5-0.5B prism backbone (fused DINOv2 + SigLIP vision) with a layer-wise Bridge-Attention action head, fine-tuned on LIBERO.
Component files were renamed to the convention the evaluation loader expects:
action_head--5000_checkpoint.pt->action_head--checkpoint.ptproprio_projector--5000_checkpoint.pt->proprio_projector--checkpoint.pt
Evaluating
The evaluation code loads the action head and proprio projector from a local directory, and only accepts a Hub repo id if it is in its hardcoded allowlist, so download the repo first:
hf download Zenma/VLA-Adapter-LIBERO-Spatial-5000 --local-dir ckpts/VLA-Adapter-LIBERO-Spatial-5000
python experiments/robot/libero/run_libero_eval.py \
--pretrained_checkpoint ckpts/VLA-Adapter-LIBERO-Spatial-5000 \
--task_suite_name libero_spatial \
--num_images_in_input 2 \
--use_proprio True \
--use_l1_regression True \
--num_open_loop_steps 8use_pro_version is inferred from whether the checkpoint path contains "Pro", so keep that substring in the directory name -- this checkpoint is a Pro head.
Loading the VLM alone
from transformers import AutoModelForVision2Seq, AutoProcessor
processor = AutoProcessor.from_pretrained("Zenma/VLA-Adapter-LIBERO-Spatial-5000", trust_remote_code=True)
vla = AutoModelForVision2Seq.from_pretrained("Zenma/VLA-Adapter-LIBERO-Spatial-5000", trust_remote_code=True)This gives the backbone only. Action prediction additionally needs action_head--checkpoint.pt and proprio_projector--checkpoint.pt from this repo, instantiated as in experiments/robot/openvla_utils.py.
