diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-12-24 05:51:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-24 05:51:43 +0000 |
commit | 5667ec4ca7597c8bf5bf907bd9581107a5aebac0 (patch) | |
tree | d01e8981bebe310a1958b797336f1eab67de03e6 | |
parent | 0fdf368a5472fd98407b9c525fcb78bebda05e90 (diff) | |
parent | 7ba9bc2fdbfae8115294962510492faafeb48573 (diff) | |
download | stable-diffusion-webui-gfx803-5667ec4ca7597c8bf5bf907bd9581107a5aebac0.tar.gz stable-diffusion-webui-gfx803-5667ec4ca7597c8bf5bf907bd9581107a5aebac0.tar.bz2 stable-diffusion-webui-gfx803-5667ec4ca7597c8bf5bf907bd9581107a5aebac0.zip |
Merge pull request #5797 from mcmonkey4eva/dpm2-a-fix
Add a workaround patch for DPM2 a issue
-rw-r--r-- | modules/sd_samplers.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index 4c123d3b..1a1b8919 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -454,6 +454,9 @@ class KDiffusionSampler: else:
sigmas = self.model_wrap.get_sigmas(steps)
+ if self.funcname in ['sample_dpm_2_ancestral', 'sample_dpm_2']:
+ sigmas = torch.cat([sigmas[:-2], sigmas[-1:]])
+
sigma_sched = sigmas[steps - t_enc - 1:]
xi = x + noise * sigma_sched[0]
@@ -494,6 +497,9 @@ class KDiffusionSampler: x = x * sigmas[0]
+ if self.funcname in ['sample_dpm_2_ancestral', 'sample_dpm_2']:
+ sigmas = torch.cat([sigmas[:-2], sigmas[-1:]])
+
extra_params_kwargs = self.initialize(p)
if 'sigma_min' in inspect.signature(self.func).parameters:
extra_params_kwargs['sigma_min'] = self.model_wrap.sigmas[0].item()
|