From 2a35ad6ba1169c575ef63f0440d1844ae24f8d1d Mon Sep 17 00:00:00 2001 From: Nathan Lambert Date: Fri, 7 Oct 2022 13:39:14 -0700 Subject: [PATCH 1/3] add sigmoid betas --- src/diffusers/schedulers/scheduling_ddpm.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/diffusers/schedulers/scheduling_ddpm.py b/src/diffusers/schedulers/scheduling_ddpm.py index 2c7ac9e5764e..9fbbc726637f 100644 --- a/src/diffusers/schedulers/scheduling_ddpm.py +++ b/src/diffusers/schedulers/scheduling_ddpm.py @@ -133,6 +133,13 @@ def __init__( elif beta_schedule == "squaredcos_cap_v2": # Glide cosine schedule self.betas = betas_for_alpha_bar(num_train_timesteps) + elif beta_schedule == "sigmoid": + + def sigmoid(x): + return 1 / (np.exp(-x) + 1) + + betas = np.linspace(-6, 6, num_train_timesteps) + self.betas = sigmoid(betas) * (beta_end - beta_start) + beta_start else: raise NotImplementedError(f"{beta_schedule} does is not implemented for {self.__class__}") From 77de2d18cf3787f930d3f2dc794ccdc99612c7d3 Mon Sep 17 00:00:00 2001 From: Nathan Lambert Date: Fri, 7 Oct 2022 14:30:02 -0700 Subject: [PATCH 2/3] convert to torch --- src/diffusers/schedulers/scheduling_ddpm.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/diffusers/schedulers/scheduling_ddpm.py b/src/diffusers/schedulers/scheduling_ddpm.py index 9fbbc726637f..abfd77b2b006 100644 --- a/src/diffusers/schedulers/scheduling_ddpm.py +++ b/src/diffusers/schedulers/scheduling_ddpm.py @@ -134,12 +134,8 @@ def __init__( # Glide cosine schedule self.betas = betas_for_alpha_bar(num_train_timesteps) elif beta_schedule == "sigmoid": - - def sigmoid(x): - return 1 / (np.exp(-x) + 1) - - betas = np.linspace(-6, 6, num_train_timesteps) - self.betas = sigmoid(betas) * (beta_end - beta_start) + beta_start + betas = torch.linspace(-6, 6, num_train_timesteps) + self.betas = torch.sigmoid(betas) * (beta_end - beta_start) + beta_start else: raise NotImplementedError(f"{beta_schedule} does is not implemented for {self.__class__}") From 55bef9052b5b843baafc5a5a750a8b92d1e32c81 Mon Sep 17 00:00:00 2001 From: Nathan Lambert Date: Sat, 8 Oct 2022 08:27:51 -0700 Subject: [PATCH 3/3] add comment on source --- src/diffusers/schedulers/scheduling_ddpm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/diffusers/schedulers/scheduling_ddpm.py b/src/diffusers/schedulers/scheduling_ddpm.py index abfd77b2b006..04c92904a660 100644 --- a/src/diffusers/schedulers/scheduling_ddpm.py +++ b/src/diffusers/schedulers/scheduling_ddpm.py @@ -134,6 +134,7 @@ def __init__( # Glide cosine schedule self.betas = betas_for_alpha_bar(num_train_timesteps) elif beta_schedule == "sigmoid": + # GeoDiff sigmoid schedule betas = torch.linspace(-6, 6, num_train_timesteps) self.betas = torch.sigmoid(betas) * (beta_end - beta_start) + beta_start else: