diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-11-02 04:29:16 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-02 04:29:16 +0000 |
commit | 10f62546d30913ad7fde5d77ed39e864b84bb856 (patch) | |
tree | 797d2ac8d27da7b17e03c6cae4345c2f8838d588 /modules/sd_samplers.py | |
parent | 5510c282b1f1974005790066b5e444f74a5178fb (diff) | |
parent | 5b6bedf6f2ebacb7f1f5809af8e26a6a1af16e2a (diff) | |
download | stable-diffusion-webui-gfx803-10f62546d30913ad7fde5d77ed39e864b84bb856.tar.gz stable-diffusion-webui-gfx803-10f62546d30913ad7fde5d77ed39e864b84bb856.tar.bz2 stable-diffusion-webui-gfx803-10f62546d30913ad7fde5d77ed39e864b84bb856.zip |
Merge pull request #4021 from AUTOMATIC1111/add-kdiff-cfgdenoiser-callback
Add mid-kdiffusion cfgdenoiser script callback - access latents, conditionings and sigmas mid-sampling
Diffstat (limited to 'modules/sd_samplers.py')
-rw-r--r-- | modules/sd_samplers.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index 8772db56..44d4c189 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -12,6 +12,7 @@ from modules import prompt_parser, devices, processing, images from modules.shared import opts, cmd_opts, state
import modules.shared as shared
+from modules.script_callbacks import CFGDenoiserParams, cfg_denoiser_callback
SamplerData = namedtuple('SamplerData', ['name', 'constructor', 'aliases', 'options'])
@@ -280,6 +281,12 @@ class CFGDenoiser(torch.nn.Module): image_cond_in = torch.cat([torch.stack([image_cond[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [image_cond])
sigma_in = torch.cat([torch.stack([sigma[i] for _ in range(n)]) for i, n in enumerate(repeats)] + [sigma])
+ denoiser_params = CFGDenoiserParams(x_in, image_cond_in, sigma_in, state.sampling_step, state.sampling_steps)
+ cfg_denoiser_callback(denoiser_params)
+ x_in = denoiser_params.x
+ image_cond_in = denoiser_params.image_cond
+ sigma_in = denoiser_params.sigma
+
if tensor.shape[1] == uncond.shape[1]:
cond_in = torch.cat([tensor, uncond])
|