aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_samplers.py
diff options
context:
space:
mode:
authorPhilpax <me@philpax.me>2023-01-05 04:00:58 +0000
committerGitHub <noreply@github.com>2023-01-05 04:00:58 +0000
commit83ca8dd0c96e3cc8dd444e8d980c07718dc647ee (patch)
treecbadd09c9305099db7763532b7aaf909d366d326 /modules/sd_samplers.py
parentfa931733f6acc94e058a1d3d4655846e33ae34be (diff)
parent5f4fa942b8ec3ed3b15a352903489d6f9e6eb46e (diff)
downloadstable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.tar.gz
stable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.tar.bz2
stable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.zip
Merge branch 'AUTOMATIC1111:master' into fix-sd-arch-switch-in-override-settings
Diffstat (limited to 'modules/sd_samplers.py')
-rw-r--r--modules/sd_samplers.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py
index 177b5338..3851a77f 100644
--- a/modules/sd_samplers.py
+++ b/modules/sd_samplers.py
@@ -97,8 +97,9 @@ sampler_extra_params = {
def setup_img2img_steps(p, steps=None):
if opts.img2img_fix_steps or steps is not None:
- steps = int((steps or p.steps) / min(p.denoising_strength, 0.999)) if p.denoising_strength > 0 else 0
- t_enc = p.steps - 1
+ requested_steps = (steps or p.steps)
+ steps = int(requested_steps / min(p.denoising_strength, 0.999)) if p.denoising_strength > 0 else 0
+ t_enc = requested_steps - 1
else:
steps = p.steps
t_enc = int(min(p.denoising_strength, 0.999) * steps)
@@ -465,7 +466,9 @@ class KDiffusionSampler:
if p.sampler_noise_scheduler_override:
sigmas = p.sampler_noise_scheduler_override(steps)
elif self.config is not None and self.config.options.get('scheduler', None) == 'karras':
- sigmas = k_diffusion.sampling.get_sigmas_karras(n=steps, sigma_min=0.1, sigma_max=10, device=shared.device)
+ sigma_min, sigma_max = (0.1, 10) if opts.use_old_karras_scheduler_sigmas else (self.model_wrap.sigmas[0].item(), self.model_wrap.sigmas[-1].item())
+
+ sigmas = k_diffusion.sampling.get_sigmas_karras(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, device=shared.device)
else:
sigmas = self.model_wrap.get_sigmas(steps)