intergrate k-diffusion

This commit is contained in:
lllyasviel
2024-08-07 15:05:42 -07:00
committed by GitHub
parent 14a759b5ca
commit a07c758658
14 changed files with 1366 additions and 42 deletions

View File

@@ -59,6 +59,9 @@ class CFGDenoiser(torch.nn.Module):
self.model_wrap = None
self.p = None
self.need_last_noise_uncond = False
self.last_noise_uncond = None
# Backward Compatibility
self.mask_before_denoising = False
@@ -179,7 +182,10 @@ class CFGDenoiser(torch.nn.Module):
denoiser_params = CFGDenoiserParams(x, image_cond, sigma, state.sampling_step, state.sampling_steps, cond, uncond, self)
cfg_denoiser_callback(denoiser_params)
denoised = sampling_function(self, denoiser_params=denoiser_params, cond_scale=cond_scale, cond_composition=cond_composition)
denoised, cond_pred, uncond_pred = sampling_function(self, denoiser_params=denoiser_params, cond_scale=cond_scale, cond_composition=cond_composition)
if self.need_last_noise_uncond:
self.last_noise_uncond = (x - uncond_pred) / sigma[:, None, None, None]
if self.mask is not None:
blended_latent = denoised * self.nmask + self.init_latent * self.mask