From 747c95919b38a28cb226b3a4467bfd4efc10f148 Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 20:36:29 +0000 Subject: [PATCH 1/7] fix dpm --- src/diffusers/schedulers/scheduling_dpmsolver_multistep.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py index b427f19e9e03..509d8432f7cd 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py @@ -189,6 +189,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) + self.sigmas = (1 - self.alphas_cumprod) / self.alphas_cumprod ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 @@ -257,9 +258,10 @@ def set_timesteps(self, num_inference_steps: int = None, device: Union[str, torc raise ValueError( f"{self.config.timestep_spacing} is not supported. Please make sure to choose one of 'linspace', 'leading' or 'trailing'." ) + + sigmas = np.array(self.sigmas) + log_sigmas = np.log(self.sigmas) - sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) - log_sigmas = np.log(sigmas) if self.config.use_karras_sigmas: sigmas = np.flip(sigmas).copy() From 16bf021d2e87152e6e772ee9d58f588f9c899b45 Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 20:39:54 +0000 Subject: [PATCH 2/7] fix --- src/diffusers/schedulers/scheduling_dpmsolver_multistep.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py index 509d8432f7cd..dfbb479ac2ec 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py @@ -189,7 +189,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) - self.sigmas = (1 - self.alphas_cumprod) / self.alphas_cumprod ** 0.5 + self.sigmas = ((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 @@ -258,11 +258,10 @@ def set_timesteps(self, num_inference_steps: int = None, device: Union[str, torc raise ValueError( f"{self.config.timestep_spacing} is not supported. Please make sure to choose one of 'linspace', 'leading' or 'trailing'." ) - + sigmas = np.array(self.sigmas) log_sigmas = np.log(self.sigmas) - if self.config.use_karras_sigmas: sigmas = np.flip(sigmas).copy() sigmas = self._convert_to_karras(in_sigmas=sigmas, num_inference_steps=num_inference_steps) From cfe7595a27413f4b3a1b3cad2bd4a7082db45bdb Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 20:42:53 +0000 Subject: [PATCH 3/7] fix --- src/diffusers/schedulers/scheduling_dpmsolver_multistep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py index dfbb479ac2ec..341775491363 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py @@ -260,7 +260,7 @@ def set_timesteps(self, num_inference_steps: int = None, device: Union[str, torc ) sigmas = np.array(self.sigmas) - log_sigmas = np.log(self.sigmas) + log_sigmas = np.log(sigmas) if self.config.use_karras_sigmas: sigmas = np.flip(sigmas).copy() From 6bc40f6b13ab0e9e536a005a86848290657904db Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 21:52:00 +0000 Subject: [PATCH 4/7] fix --- src/diffusers/schedulers/scheduling_dpmsolver_multistep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py index 341775491363..145dc837150c 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py @@ -259,7 +259,7 @@ def set_timesteps(self, num_inference_steps: int = None, device: Union[str, torc f"{self.config.timestep_spacing} is not supported. Please make sure to choose one of 'linspace', 'leading' or 'trailing'." ) - sigmas = np.array(self.sigmas) + sigmas = np.array(np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5)) log_sigmas = np.log(sigmas) if self.config.use_karras_sigmas: From de538ba57007a6dcb454a0d370ccd24fb4747b9c Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 21:53:06 +0000 Subject: [PATCH 5/7] fix --- src/diffusers/schedulers/scheduling_dpmsolver_multistep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py index 145dc837150c..7467eb16e06a 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py @@ -259,7 +259,7 @@ def set_timesteps(self, num_inference_steps: int = None, device: Union[str, torc f"{self.config.timestep_spacing} is not supported. Please make sure to choose one of 'linspace', 'leading' or 'trailing'." ) - sigmas = np.array(np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5)) + sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) log_sigmas = np.log(sigmas) if self.config.use_karras_sigmas: From 9472bcb724eb36c030e29777205b813bec7fc6f4 Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 21:58:39 +0000 Subject: [PATCH 6/7] all scheulers --- src/diffusers/schedulers/scheduling_deis_multistep.py | 1 + .../schedulers/scheduling_dpmsolver_multistep_inverse.py | 1 + src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py | 1 + src/diffusers/schedulers/scheduling_unipc_multistep.py | 1 + 4 files changed, 4 insertions(+) diff --git a/src/diffusers/schedulers/scheduling_deis_multistep.py b/src/diffusers/schedulers/scheduling_deis_multistep.py index a99135300d92..ded4c30bf335 100644 --- a/src/diffusers/schedulers/scheduling_deis_multistep.py +++ b/src/diffusers/schedulers/scheduling_deis_multistep.py @@ -162,6 +162,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) + self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py index bc8ee24a901c..cffef53498b3 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py @@ -184,6 +184,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) + self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py b/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py index 6fd4d3bbf7b6..8fbb3b60eb9e 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py @@ -172,6 +172,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) + self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_unipc_multistep.py b/src/diffusers/schedulers/scheduling_unipc_multistep.py index a6d82de80b88..b7a5c9fe29dc 100644 --- a/src/diffusers/schedulers/scheduling_unipc_multistep.py +++ b/src/diffusers/schedulers/scheduling_unipc_multistep.py @@ -175,6 +175,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) + self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 From a0785e70bcffb92ae2fa9f2f64c1186c729a6699 Mon Sep 17 00:00:00 2001 From: yiyixu Date: Thu, 30 Nov 2023 22:01:42 +0000 Subject: [PATCH 7/7] fix --- src/diffusers/schedulers/scheduling_deis_multistep.py | 2 +- .../schedulers/scheduling_dpmsolver_multistep_inverse.py | 2 +- src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py | 2 +- src/diffusers/schedulers/scheduling_unipc_multistep.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/diffusers/schedulers/scheduling_deis_multistep.py b/src/diffusers/schedulers/scheduling_deis_multistep.py index ded4c30bf335..d1186bf79f40 100644 --- a/src/diffusers/schedulers/scheduling_deis_multistep.py +++ b/src/diffusers/schedulers/scheduling_deis_multistep.py @@ -162,7 +162,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) - self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) + self.sigmas = ((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py b/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py index cffef53498b3..3172d49ed6ce 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py @@ -184,7 +184,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) - self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) + self.sigmas = ((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py b/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py index 8fbb3b60eb9e..7d58abf78f91 100644 --- a/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +++ b/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py @@ -172,7 +172,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) - self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) + self.sigmas = ((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0 diff --git a/src/diffusers/schedulers/scheduling_unipc_multistep.py b/src/diffusers/schedulers/scheduling_unipc_multistep.py index b7a5c9fe29dc..90b6f46b5aab 100644 --- a/src/diffusers/schedulers/scheduling_unipc_multistep.py +++ b/src/diffusers/schedulers/scheduling_unipc_multistep.py @@ -175,7 +175,7 @@ def __init__( self.alpha_t = torch.sqrt(self.alphas_cumprod) self.sigma_t = torch.sqrt(1 - self.alphas_cumprod) self.lambda_t = torch.log(self.alpha_t) - torch.log(self.sigma_t) - self.sigmas = np.array(((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5) + self.sigmas = ((1 - self.alphas_cumprod) / self.alphas_cumprod) ** 0.5 # standard deviation of the initial noise distribution self.init_noise_sigma = 1.0