diff options
author | Alex "mcmonkey" Goodwin <git_commits@alexgoodwin.dev> | 2022-12-16 16:18:29 +0000 |
---|---|---|
committer | Alex "mcmonkey" Goodwin <git_commits@alexgoodwin.dev> | 2022-12-16 16:18:29 +0000 |
commit | 8b0703b8fcdab153958b11f0dd5e5b6b58565fed (patch) | |
tree | 306fa121a32ff1a12ae36b2abbe445a49b35352c /modules/sd_samplers.py | |
parent | 685f9631b56ff8bd43bce24ff5ce0f9a0e9af490 (diff) | |
download | stable-diffusion-webui-gfx803-8b0703b8fcdab153958b11f0dd5e5b6b58565fed.tar.gz stable-diffusion-webui-gfx803-8b0703b8fcdab153958b11f0dd5e5b6b58565fed.tar.bz2 stable-diffusion-webui-gfx803-8b0703b8fcdab153958b11f0dd5e5b6b58565fed.zip |
Add a workaround patch for DPM2 a issue
DPM2 a and DPM2 a Karras samplers are both affected by an issue described by https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/3483 and can be resolved by a workaround suggested by the k-diffusion author at https://github.com/crowsonkb/k-diffusion/issues/43#issuecomment-1305195666
Diffstat (limited to 'modules/sd_samplers.py')
-rw-r--r-- | modules/sd_samplers.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index 4c123d3b..b8e0ce53 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -494,6 +494,9 @@ class KDiffusionSampler: x = x * sigmas[0]
+ if self.funcname == "sample_dpm_2_ancestral": # workaround dpm2 a issue
+ 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()
|