From f4ccf911fa6da666d87573c111277f81f59001e7 Mon Sep 17 00:00:00 2001 From: Pepijn Date: Tue, 20 Jan 2026 20:08:28 +0100 Subject: [PATCH] format --- docs/source/training_time_rtc.mdx | 1 - src/lerobot/policies/pi0/modeling_pi0.py | 4 +--- src/lerobot/policies/pi05/modeling_pi05.py | 4 +--- src/lerobot/policies/rtc/configuration_rtc.py | 4 +--- src/lerobot/policies/rtc/training_time.py | 5 +---- src/lerobot/policies/smolvla/modeling_smolvla.py | 4 +--- tests/policies/rtc/test_training_time_rtc.py | 1 - 7 files changed, 5 insertions(+), 18 deletions(-) diff --git a/docs/source/training_time_rtc.mdx b/docs/source/training_time_rtc.mdx index 3394b7f11..c7fb23bed 100644 --- a/docs/source/training_time_rtc.mdx +++ b/docs/source/training_time_rtc.mdx @@ -60,4 +60,3 @@ lerobot-train \ - [Real-Time Chunking (Inference-Time RTC)](./rtc) - [Pi0](./pi0), [Pi0.5](./pi05), [SmolVLA](./smolvla), [WALL-OSS](./walloss) - diff --git a/src/lerobot/policies/pi0/modeling_pi0.py b/src/lerobot/policies/pi0/modeling_pi0.py index b4435eccc..bd9648d7b 100644 --- a/src/lerobot/policies/pi0/modeling_pi0.py +++ b/src/lerobot/policies/pi0/modeling_pi0.py @@ -724,9 +724,7 @@ class PI0Pytorch(nn.Module): # see openpi `PI0Pytorch` if time_emb.dim() == 2: time_emb = time_emb[:, None, :].expand_as(action_emb) elif time_emb.shape[:2] != action_emb.shape[:2]: - raise ValueError( - f"Expected time_emb shape {action_emb.shape[:2]}, got {time_emb.shape[:2]}" - ) + raise ValueError(f"Expected time_emb shape {action_emb.shape[:2]}, got {time_emb.shape[:2]}") action_time_emb = torch.cat([action_emb, time_emb], dim=2) def mlp_func(action_time_emb): diff --git a/src/lerobot/policies/pi05/modeling_pi05.py b/src/lerobot/policies/pi05/modeling_pi05.py index bdf9f272e..46c6b5c51 100644 --- a/src/lerobot/policies/pi05/modeling_pi05.py +++ b/src/lerobot/policies/pi05/modeling_pi05.py @@ -1270,9 +1270,7 @@ class PI05Policy(PreTrainedPolicy): noise = self.model.sample_noise(actions.shape, actions.device) delay = sample_rtc_delay(rtc_cfg, batch_size, actions.device) time, postfix_mask = apply_rtc_training_time(time, delay, actions.shape[1]) - losses = self.model.forward( - images, img_masks, tokens, masks, actions, noise=noise, time=time - ) + losses = self.model.forward(images, img_masks, tokens, masks, actions, noise=noise, time=time) else: losses = self.model.forward(images, img_masks, tokens, masks, actions) diff --git a/src/lerobot/policies/rtc/configuration_rtc.py b/src/lerobot/policies/rtc/configuration_rtc.py index b7e55723c..1087aa082 100644 --- a/src/lerobot/policies/rtc/configuration_rtc.py +++ b/src/lerobot/policies/rtc/configuration_rtc.py @@ -69,8 +69,6 @@ class RTCTrainingConfig: if self.min_delay < 0: raise ValueError(f"min_delay must be >= 0, got {self.min_delay}") if self.max_delay < self.min_delay: - raise ValueError( - f"max_delay ({self.max_delay}) must be >= min_delay ({self.min_delay})" - ) + raise ValueError(f"max_delay ({self.max_delay}) must be >= min_delay ({self.min_delay})") if self.exp_decay <= 0: raise ValueError(f"exp_decay must be positive, got {self.exp_decay}") diff --git a/src/lerobot/policies/rtc/training_time.py b/src/lerobot/policies/rtc/training_time.py index b6fb05ec6..44de4a1d9 100644 --- a/src/lerobot/policies/rtc/training_time.py +++ b/src/lerobot/policies/rtc/training_time.py @@ -27,9 +27,7 @@ def sample_rtc_delay(cfg: RTCTrainingConfig, batch_size: int, device: torch.devi return torch.full((batch_size,), cfg.min_delay, device=device, dtype=torch.long) if cfg.delay_distribution == RTCTrainingDelayDistribution.UNIFORM: - return torch.randint( - cfg.min_delay, cfg.max_delay + 1, (batch_size,), device=device, dtype=torch.long - ) + return torch.randint(cfg.min_delay, cfg.max_delay + 1, (batch_size,), device=device, dtype=torch.long) delay_values = torch.arange(cfg.min_delay, cfg.max_delay + 1, device=device, dtype=torch.long) weights = torch.exp(-cfg.exp_decay * delay_values.to(dtype=torch.float32)) @@ -62,4 +60,3 @@ def masked_mean( masked = losses * mask denom = mask.sum(dim=reduce_dims).clamp_min(eps) return masked.sum(dim=reduce_dims) / denom - diff --git a/src/lerobot/policies/smolvla/modeling_smolvla.py b/src/lerobot/policies/smolvla/modeling_smolvla.py index a1b66991d..855621465 100644 --- a/src/lerobot/policies/smolvla/modeling_smolvla.py +++ b/src/lerobot/policies/smolvla/modeling_smolvla.py @@ -751,9 +751,7 @@ class VLAFlowMatching(nn.Module): if time_emb.dim() == 2: time_emb = time_emb[:, None, :].expand_as(action_emb) elif time_emb.shape[:2] != action_emb.shape[:2]: - raise ValueError( - f"Expected time_emb shape {action_emb.shape[:2]}, got {time_emb.shape[:2]}" - ) + raise ValueError(f"Expected time_emb shape {action_emb.shape[:2]}, got {time_emb.shape[:2]}") action_time_emb = torch.cat([action_emb, time_emb], dim=2) action_time_emb = self.action_time_mlp_in(action_time_emb) diff --git a/tests/policies/rtc/test_training_time_rtc.py b/tests/policies/rtc/test_training_time_rtc.py index 22d208895..876b82a61 100644 --- a/tests/policies/rtc/test_training_time_rtc.py +++ b/tests/policies/rtc/test_training_time_rtc.py @@ -48,4 +48,3 @@ def test_apply_rtc_training_time_prefix_mask(): # Delay=2 means the first two steps are prefix (time forced to 0.0) and only the last two are postfix. assert torch.allclose(time_tokens[0], torch.tensor([0.0, 0.0, 0.5, 0.5])) assert torch.equal(postfix_mask[0], torch.tensor([False, False, True, True])) -