From 961e0d9bcd194a61efd7d847e8dfe65ea492d249 Mon Sep 17 00:00:00 2001 From: Pepijn Date: Mon, 8 Jun 2026 12:04:48 +0200 Subject: [PATCH] docs(lingbot_va): condense processor normalization comments Co-Authored-By: Claude Opus 4.8 (1M context) --- .../policies/lingbot_va/processor_lingbot_va.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/lerobot/policies/lingbot_va/processor_lingbot_va.py b/src/lerobot/policies/lingbot_va/processor_lingbot_va.py index 44bed5808..119f77d5b 100644 --- a/src/lerobot/policies/lingbot_va/processor_lingbot_va.py +++ b/src/lerobot/policies/lingbot_va/processor_lingbot_va.py @@ -14,13 +14,9 @@ """Pre/post-processor pipelines for the LingBot-VA policy. -The policy itself handles image resizing, scaling to [-1, 1] and VAE encoding (the VAE -lives inside the policy), so the preprocessor only renames, batches, normalizes (IDENTITY) -and moves to device. The policy emits actions in the normalized ``[-1, 1]`` space; the -postprocessor maps them back to physical units with the standard ``UnnormalizerProcessorStep`` -in QUANTILES mode (``(action + 1) / 2 * (q99 - q01) + q01``). The per-channel q01/q99 are NOT -hardcoded: they are saved in each checkpoint's post-processor state and restored on load. A -fresh (unconverted) policy has no action stats, so the step is a no-op (identity passthrough). +The preprocessor passes inputs through (IDENTITY) and the postprocessor maps the policy's +``[-1, 1]`` actions back to physical units with the built-in ``UnnormalizerProcessorStep`` +(QUANTILES) using per-channel q01/q99 restored from the checkpoint. """ from typing import Any @@ -67,9 +63,7 @@ def make_lingbot_va_pre_post_processors( DeviceProcessorStep(device=config.device), ] - # Unnormalize predicted actions from [-1, 1] back to physical units via per-channel q01/q99 - # (QUANTILES mode), overriding the policy's IDENTITY action mapping. The q01/q99 stats are - # restored from the checkpoint on load; a fresh build has no action stats and is a passthrough. + # Unnormalize actions from [-1, 1] to physical units (QUANTILES) using q01/q99 restored from the checkpoint. output_steps: list[ProcessorStep] = [ UnnormalizerProcessorStep( features=config.output_features,