Skip to main content
Processors convert raw VLA step data into model-ready inputs by handling tokenization, normalization, and batching.

BaseProcessor

Abstract base class for data processors. Inherits from transformers.ProcessorMixin.

Methods

__call__

Process a list of messages and return a dictionary of model inputs.
list[dict[str, Any]]
required
List of messages to process. Each message is a dictionary with:
  • type: MessageType enum value
  • content: Message content (VLAStepData for EPISODE_STEP messages)
  • role: Optional role for TEXT messages (“user” or “assistant”)
dict[str, Any]
Dictionary of model inputs ready for forward pass.
Usage example

decode_action

Decode the action from the model output.
np.ndarray
required
Raw action array from model output.
EmbodimentTag
required
Embodiment tag to determine action decoding strategy.
dict[str, np.ndarray] | None
default:"None"
Optional current state dictionary for computing relative actions.
dict[str, np.ndarray]
Dictionary mapping action names to decoded action arrays.

set_statistics

Set normalization statistics for the processor.
dict[str, Any]
required
Dictionary containing normalization statistics (mean, std, min, max, q01, q99) for each modality and joint group.Structure: {embodiment_tag: {modality: {joint_group: {stat_type: values}}}}
bool
default:"False"
Whether to override existing statistics.

get_modality_configs

Get the modality configurations.
dict[str, dict[str, ModalityConfig]]
Nested dictionary where modality_configs[embodiment_tag][modality] = ModalityConfig.

train

Set the processor to training mode.

eval

Set the processor to evaluation mode.

collator

Get the data collator for batching.
callable
Collator function that batches processed samples.

Complete workflow