diff options
author | drhead <1313496+drhead@users.noreply.github.com> | 2023-12-02 18:07:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-02 18:07:45 +0000 |
commit | 309a606c2fa645b6b8623f96ea56117e685a47fb (patch) | |
tree | 1ef84baac708dfa4333abb8cd0f785220d054432 /modules | |
parent | 668ae34e21df848ef4909b8b49c4142a3674701b (diff) | |
download | stable-diffusion-webui-gfx803-309a606c2fa645b6b8623f96ea56117e685a47fb.tar.gz stable-diffusion-webui-gfx803-309a606c2fa645b6b8623f96ea56117e685a47fb.tar.bz2 stable-diffusion-webui-gfx803-309a606c2fa645b6b8623f96ea56117e685a47fb.zip |
ensure that original alpha bar always exists
Diffstat (limited to 'modules')
-rw-r--r-- | modules/processing.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/modules/processing.py b/modules/processing.py index d73c8bfc..bfa59038 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -882,15 +882,17 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed: alphas_bar[-1] = 4.8973451890853435e-08
return alphas_bar
- if hasattr(p.sd_model, 'alphas_cumprod') and hasattr(p.sd_model, 'alphas_cumprod_original'):
- p.sd_model.alphas_cumprod = p.sd_model.alphas_cumprod_original.to(shared.device)
-
- if opts.use_downcasted_alpha_bar:
- p.extra_generation_params['Downcast alphas_cumprod'] = opts.use_downcasted_alpha_bar
- p.sd_model.alphas_cumprod = p.sd_model.alphas_cumprod.half().to(shared.device)
- if opts.sd_noise_schedule == "Zero Terminal SNR":
- p.extra_generation_params['Noise Schedule'] = opts.sd_noise_schedule
- p.sd_model.alphas_cumprod = rescale_zero_terminal_snr_abar(p.sd_model.alphas_cumprod).to(shared.device)
+ if hasattr(p.sd_model, 'alphas_cumprod') and not hasattr(p.sd_model, 'alphas_cumprod_original'):
+ p.sd_model.alphas_cumprod_original = p.sd_model.alphas_cumprod
+
+ p.sd_model.alphas_cumprod = p.sd_model.alphas_cumprod_original.to(shared.device)
+
+ if opts.use_downcasted_alpha_bar:
+ p.extra_generation_params['Downcast alphas_cumprod'] = opts.use_downcasted_alpha_bar
+ p.sd_model.alphas_cumprod = p.sd_model.alphas_cumprod.half().to(shared.device)
+ if opts.sd_noise_schedule == "Zero Terminal SNR":
+ p.extra_generation_params['Noise Schedule'] = opts.sd_noise_schedule
+ p.sd_model.alphas_cumprod = rescale_zero_terminal_snr_abar(p.sd_model.alphas_cumprod).to(shared.device)
with devices.without_autocast() if devices.unet_needs_upcast else devices.autocast():
samples_ddim = p.sample(conditioning=p.c, unconditional_conditioning=p.uc, seeds=p.seeds, subseeds=p.subseeds, subseed_strength=p.subseed_strength, prompts=p.prompts)
|