Downloads · 30 days
24
45% of all-time downloads
duanxingjuan/openvla-7b-libero-spatial-lora
openvla-7b-libero-spatial-lora is a robotics model from duanxingjuan. Use it for the robotics task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
LoRA fine-tune of openvla/openvla-7b on the LIBERO-Spatial suite (liberospatialnonoops from openvla/modifiedliberorlds).
Downloads · 30 days
24
45% of all-time downloads
All-time downloads
53
Public
Parameters
7.5B
30.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors15.1 GB · 100%
From the Hugging Face model README
LoRA fine-tune of openvla/openvla-7b on the
LIBERO-Spatial suite (libero_spatial_no_noops from openvla/modified_libero_rlds).
⚠️ This is a learning-project checkpoint, not a strong model. It was trained for only 2000 steps under a deliberately cost-constrained setup, and evaluates far below the official
openvla/openvla-7b-finetuned-libero-spatial(~84.7%). It is published for reproducibility of the process, not for use. Numbers and the reasons behind them are stated honestly below.
| Base | openvla/openvla-7b |
| Method | LoRA r=32, dropout 0.0, lr 5e-4 (constant), effective batch 16 (8 × grad-accum 2) |
| Trainable params | 110,828,288 / 7,652,065,472 = 1.45% |
| Hardware | 1× A100-SXM4-80GB, ~40GB VRAM, ~5.5–6.5 s/step |
| Steps | 2000 total = 1000 with image_aug=True, then 1000 continued from the merged step-1000 checkpoint with image_aug=False |
| Checkpoint | LoRA merged into base; includes dataset_statistics.json for action un-normalization |
Revision step1000
holds the intermediate 1000-step (with-aug) checkpoint.
Official harness experiments/robot/libero/run_libero_eval.py, LIBERO-Spatial, seed 7,
MUJOCO_GL=egl, --center_crop False (matching the no-aug final training stage).
| Model | Success rate | Episodes |
|---|---|---|
Official openvla-7b-finetuned-libero-spatial | 84.9% | 62/73 (own reproduction; paper reports 84.7%) |
| This checkpoint (2000 steps) | 8.3% | 2/24 (8 of 10 tasks × 3; stopped early) |
All successes came from a single task (pick up the black bowl on the cookie box, 2/3); the other
seven tasks scored 0/3. LIBERO-Spatial keeps the object fixed and varies its placement, so this looks like
2000 steps memorizing one spatial configuration rather than learning a general locate → grasp → place policy.
center_crop setting at eval matches cleanly.What to do differently: keep image_aug=True throughout (parallelize the data pipeline or use
multiple GPUs to absorb the cost), run one continuous training job without merge-restarts, and train
until the loss genuinely converges rather than stopping at the first plateau.
from transformers import AutoModelForVision2Seq, AutoProcessor
processor = AutoProcessor.from_pretrained("duanxingjuan/openvla-7b-libero-spatial-lora", trust_remote_code=True)
vla = AutoModelForVision2Seq.from_pretrained(
"duanxingjuan/openvla-7b-libero-spatial-lora",
torch_dtype="bfloat16", trust_remote_code=True,
).to("cuda")
action = vla.predict_action(**inputs, unnorm_key="libero_spatial_no_noops", do_sample=False)
Not an official OpenVLA release. Part of a personal OpenVLA study repo.