From 1e98f4bafce68ab71d46f48f4e1340e58f14300d Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Thu, 10 Nov 2022 15:27:25 -0800 Subject: [PATCH] diffusers: let the scheduler do its scaling of the initial latents Remove IPNDM scheduler; it is not behaving. --- backend/modules/parameters.py | 1 - ldm/invoke/args.py | 1 - ldm/invoke/generator/diffusers_pipeline.py | 2 ++ 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/modules/parameters.py b/backend/modules/parameters.py index 130d04d64a..9055297671 100644 --- a/backend/modules/parameters.py +++ b/backend/modules/parameters.py @@ -13,7 +13,6 @@ SAMPLER_CHOICES = [ "k_lms", "plms", # diffusers: - "ipndm", "pndm", ] diff --git a/ldm/invoke/args.py b/ldm/invoke/args.py index a58617a511..f1b5e9029d 100644 --- a/ldm/invoke/args.py +++ b/ldm/invoke/args.py @@ -109,7 +109,6 @@ SAMPLER_CHOICES = [ 'k_lms', 'plms', # diffusers: - "ipndm", "pndm", ] diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index c9fff12e0c..bad21b0956 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -231,6 +231,8 @@ class StableDiffusionGeneratorPipeline(DiffusionPipeline): run_id: str = None, **extra_step_kwargs): if run_id is None: run_id = secrets.token_urlsafe(self.ID_LENGTH) + # scale the initial noise by the standard deviation required by the scheduler + latents *= self.scheduler.init_noise_sigma yield PipelineIntermediateState(run_id=run_id, step=-1, timestep=self.scheduler.num_train_timesteps, latents=latents) # NOTE: Depends on scheduler being already initialized!