openvla_oft
openvla_oft
¶
OpenVLA-OFT-style continuous action-chunk decoder backed by a VLM.
OpenVLAOFTDecoder
¶
OpenVLAOFTDecoder(action_heads, input_keys, action_space, observation_space, observation_horizon, prediction_horizon, device, vlm_backbone, slots_per_action_dimension=True, causal_action_slots=True, min_period=0.004, max_period=4.0)
Bases: LLMPrefixSuffixAttentionMixin, VLMBackboneDecoderMixin, ActionDecoder
Decode continuous action chunks from VLM prefix plus action slots.
Initialize a VLM-backed continuous action-chunk decoder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
action_heads
|
dict[str, ActionHead]
|
Exactly one joint action head that maps per-timestep
decoder embeddings to the full continuous action vector. With
|
required |
input_keys
|
list[str]
|
Must be empty. Raw observation keys are declared by
|
required |
action_space
|
ActionSpace
|
Task action-space metadata. |
required |
observation_space
|
ObservationSpace
|
Task observation-space metadata. |
required |
observation_horizon
|
int
|
Number of observation timesteps in each sample. |
required |
prediction_horizon
|
int
|
Number of future action timesteps to predict. |
required |
device
|
str
|
Device used by decoder modules and generated tensors. |
required |
vlm_backbone
|
GenerativeVLM
|
Generative VLM that builds image-language prefix embeddings and exposes the language tower. |
required |
slots_per_action_dimension
|
bool
|
When |
True
|
causal_action_slots
|
bool
|
Whether action slots use causal self-attention. |
True
|
min_period
|
float
|
Minimum period for sinusoidal timestep embeddings used by denoising algorithms. |
0.004
|
max_period
|
float
|
Maximum period for sinusoidal timestep embeddings used by denoising algorithms. |
4.0
|
Source code in src/versatil/models/decoding/decoders/factory/openvla_oft.py
forward
¶
Predict a continuous action chunk from a VLM prefix.