transform_builder
transform_builder
¶
TransformBuilder
¶
TransformBuilder(replay_buffer, action_processor, prediction_horizon, observation_space, episode_ends, kinematics_norm_type, image_norm_type, depth_norm_type, depth_winsorize_quantiles=(0.01, 0.99), kinematics_winsorize_quantiles=(0.01, 0.99), tokenization_config=None, clamp_kinematics_range=True, min_kinematics_std=0.02, min_kinematics_range=0.04, action_sample_size=2048, episode_selection_mask=None, seed=42)
Builder for creating and configuring data normalizers and tokenizers.
Initialize transform builder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
replay_buffer
|
ReplayBuffer
|
Data source |
required |
action_processor
|
ActionProcessor
|
For computing actions and applying denoising |
required |
prediction_horizon
|
int
|
Prediction horizon for action chunking. |
required |
observation_space
|
ObservationSpace
|
The observation space configuration |
required |
episode_ends
|
ndarray
|
Episode boundaries |
required |
kinematics_norm_type
|
str
|
Normalization type for kinematics |
required |
image_norm_type
|
str
|
Normalization type for RGB images |
required |
depth_norm_type
|
str
|
Normalization type for depth images |
required |
depth_winsorize_quantiles
|
tuple[float, float] | None
|
Quantiles for depth winsorization (lower, upper). |
(0.01, 0.99)
|
kinematics_winsorize_quantiles
|
tuple[float, float] | None
|
Quantiles for kinematics winsorization. |
(0.01, 0.99)
|
tokenization_config
|
TokenizationConfig | None
|
Tokenization configuration. If None, no tokenizer created. |
None
|
clamp_kinematics_range
|
bool
|
Whether to clamp std/range to minimum values. |
True
|
min_kinematics_std
|
float
|
Minimum std for Gaussian mode when clamp_kinematics_range=True. |
0.02
|
min_kinematics_range
|
float
|
Minimum range for MinMax mode when clamp_kinematics_range=True. |
0.04
|
action_sample_size
|
int
|
Number of action rows to stash alongside each action
key's normalizer for downstream data-aware initialization (e.g.
mixture-density head k-means++). Set to 0 to disable. Memory cost
per action key is |
2048
|
episode_selection_mask
|
ndarray | None
|
Optional boolean mask over episodes. Statistics, tokenizers, and denoising thresholds are fitted only on selected episodes (the training split), keeping validation data out of the fitted transforms. |
None
|
seed
|
int
|
Seed for the subsampling used by depth-quantile estimation, so fitted statistics are reproducible. |
42
|
Source code in src/versatil/data/processing/transform_builder.py
create_normalizer_and_tokenizer
¶
Create and fit normalizer and optionally tokenizer to data. Pipeline: Raw data → Winsorize → Normalize → Tokenize
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
device
|
device | None
|
Target device for tensors |
None
|
Returns:
| Type | Description |
|---|---|
tuple[LinearNormalizer, Tokenizer | None]
|
Tuple of (normalizer, tokenizer) where tokenizer is None if not configured |
Source code in src/versatil/data/processing/transform_builder.py
compute_proprioceptive_denoising_thresholds
¶
Compute denoising thresholds for proprioceptive observations.