Agent skill · research science · zechenzhangagi

fine-tuning-openvla-oft

Fine-tunes and evaluates OpenVLA-OFT and OpenVLA-OFT+ policies for robot action generation with continuous action heads, LoRA adaptation, and FiLM conditioning on LIBERO simulation and ALOHA real-world setups. Use when reproducing OpenVLA-OFT paper results, training custom VLA action heads (L1 or diffusion), deploying server-client inference for ALOHA, or debugging normalization, LoRA merge, and cross-GPU issues.

Why this skill is useful

Adds executable scripts for fine-tuning and evaluating OpenVLA-OFT with specific configurations and dependencies not commonly known.

What it needs

Requires accelerate, draccus, fastapi, peft, robosuite, tensorflow, torch, transformers, uvicorn, wandb installed locally. About 7k tokens when loaded. Last updated 2026-06-16. 11,472 stars on the source repository.

What this skill does

OpenVLA-OFT Fine-tuning and evaluation workflows for OpenVLA-OFT and OpenVLA-OFT+ from the official openvla-oft codebase. Covers blank-machine setup plus LoRA-based adaptation of OpenVLA for robot action generation with continuous action prediction heads. Quick start Clone the public repo, follow the official setup, then evaluate a pretrained LIBERO checkpoint: Core concepts What OpenVLA-OFT changes: Standard OpenVLA tokenizes continuous actions into discrete bins, losing precision. OFT replaces this with dedicated continuous action heads (L1 regression or diffusion) while keeping the VLA backbone frozen and adapting via LoRA. OFT vs OFT+ variants: Variant FiLM Images Typical use --------- ------ -------- ------------- OFT Off 2 (front + wrist) LIBERO simulation OFT+ On 3 (high + left + right wrist) ALOHA real-world Key architecture choices: LoRA adaptation: Rank-32 LoRA on VLA backbone (no full fine-tuning needed) Continuous actions: L1 regression head (default) or diffusion head FiLM conditioning: Feature-wise Linear Modulation for stronger language grounding in OFT+ Multi-image input: Configurable 2 or 3 camera streams via numimagesininput Compute requirements Task GPU VRAM Notes ------ ----- ------ ------- LIBERO evaluation 1x A100/A40 ~16 GB Single GPU ALOHA evaluation 1x A100/A40 ~18 GB Single GPU LIBERO fine-tuning 8x A100 ~27 GB/GPU Paper default ALOHA fine-tuning (OFT+) 8x A100 ~35 GB/GPU FiLM + 3 images LoRA merge 1x any GPU ~16 GB One-time step Expected performance benchmarks Official results (paper setup, seed=7, 50 trials per task): Task Suite Task-Specific Combined Policy Notes ----------- -------------- ----------------- ------- LIBERO-Spatial 97.2% 96.8% Easiest suite LIBERO-Object 97.4% 97.0% Object manipulation LIBERO-Goal 95.8% 95.4% May peak at 50k-100k steps LIBERO-10 98.0% 98.0% Long-horizon tasks Average 97.1% 96.8% Near-equivalent Reproduction notes: results are tied to Python 3.10.14, PyTorch 2.2.0, NVIDIA A100, and custom Transformers fork. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills zechenzhangagi/openvla-oft

View the source on GitHub

Browse the @skills marketplace