aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_samplers.py
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-09-08 16:20:41 +0000
committerAUTOMATIC <16777216c@gmail.com>2022-09-08 16:20:41 +0000
commitca3861e05f29f6e0ce5dec84a64dec36378f64f7 (patch)
tree0f4b98c144c30f8c3077bac04f533e9e2a2f4dca /modules/sd_samplers.py
parent701f76b29ab8fa9c1d35ae8abce36b99e12d5d08 (diff)
downloadstable-diffusion-webui-gfx803-ca3861e05f29f6e0ce5dec84a64dec36378f64f7.tar.gz
stable-diffusion-webui-gfx803-ca3861e05f29f6e0ce5dec84a64dec36378f64f7.tar.bz2
stable-diffusion-webui-gfx803-ca3861e05f29f6e0ce5dec84a64dec36378f64f7.zip
fix for DDIM live previews in txt2img
Diffstat (limited to 'modules/sd_samplers.py')
-rw-r--r--modules/sd_samplers.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py
index 23022206..fd63e47f 100644
--- a/modules/sd_samplers.py
+++ b/modules/sd_samplers.py
@@ -113,6 +113,11 @@ class VanillaStableDiffusionSampler:
return samples
def sample(self, p, x, conditioning, unconditional_conditioning):
+ self.sampler.p_sample_ddim = lambda x_dec, cond, ts, *args, **kwargs: p_sample_ddim_hook(self, x_dec, cond, ts, *args, **kwargs)
+ self.mask = None
+ self.nmask = None
+ self.init_latent = None
+
samples_ddim, _ = self.sampler.sample(S=p.steps, conditioning=conditioning, batch_size=int(x.shape[0]), shape=x[0].shape, verbose=False, unconditional_guidance_scale=p.cfg_scale, unconditional_conditioning=unconditional_conditioning, x_T=x)
return samples_ddim
@@ -170,6 +175,7 @@ class KDiffusionSampler:
def sample_img2img(self, p, x, noise, conditioning, unconditional_conditioning):
t_enc = int(min(p.denoising_strength, 0.999) * p.steps)
sigmas = self.model_wrap.get_sigmas(p.steps)
+
noise = noise * sigmas[p.steps - t_enc - 1]
xi = x + noise