From 153a5febdee5e4ef2ca210cc37b674bf18d25c14 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Thu, 9 Apr 2026 16:16:23 +0100 Subject: [PATCH] fix sigmas always populated after set_timesteps --- modules/schedulers/scheduler_ersde.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/schedulers/scheduler_ersde.py b/modules/schedulers/scheduler_ersde.py index 7533a6d51..a46efd0a5 100644 --- a/modules/schedulers/scheduler_ersde.py +++ b/modules/schedulers/scheduler_ersde.py @@ -234,7 +234,13 @@ class ERSDEScheduler(SchedulerMixin, ConfigMixin): self.num_inference_steps = len(timesteps) timesteps = np.array(timesteps, dtype=np.int64) self.timesteps = torch.from_numpy(timesteps).to(device) - self.sigmas = None + # Compute sigmas from alphas_cumprod so pipelines can access self.sigmas + sigmas_arr = [] + for t in timesteps: + acp = self.alphas_cumprod[t].item() + sigmas_arr.append(((1 - acp) / max(acp, 1e-8)) ** 0.5) + sigmas_arr.append(0.0) + self.sigmas = torch.tensor(sigmas_arr, dtype=torch.float64, device=device) self._flow_alphas = None self._flow_sigmas = None self._flow_lambdas = None @@ -257,7 +263,13 @@ class ERSDEScheduler(SchedulerMixin, ConfigMixin): raise ValueError(f"{self.config.timestep_spacing} is not supported") self.timesteps = torch.from_numpy(timesteps).to(device) - self.sigmas = None + # Compute sigmas from alphas_cumprod so pipelines can access self.sigmas + sigmas_arr = [] + for t in timesteps: + acp = self.alphas_cumprod[t].item() + sigmas_arr.append(((1 - acp) / max(acp, 1e-8)) ** 0.5) + sigmas_arr.append(0.0) + self.sigmas = torch.tensor(sigmas_arr, dtype=torch.float64, device=device) self._flow_alphas = None self._flow_sigmas = None self._flow_lambdas = None