Adds the ability to use denoise strength.

This commit is contained in:
ExponentialML
2024-03-15 10:46:11 -07:00
committed by GitHub
parent 68169ce78b
commit b7dc5be8e7
+12 -4
View File
@@ -15,7 +15,8 @@ class ApplyVisualStyle:
"conditioning_prompt": ("CONDITIONING",), "conditioning_prompt": ("CONDITIONING",),
"reference_image_prompt": ("CONDITIONING",), "reference_image_prompt": ("CONDITIONING",),
"negative_prompt": ("CONDITIONING", ), "negative_prompt": ("CONDITIONING", ),
"enabled": ("BOOLEAN", {"default": True}) "enabled": ("BOOLEAN", {"default": True}),
"denoise": ("FLOAT", {"default": 1., "min": 0., "max": 1., "step": 1e-2})
} }
} }
@@ -32,7 +33,8 @@ class ApplyVisualStyle:
conditioning_prompt, conditioning_prompt,
reference_image_prompt, reference_image_prompt,
negative_prompt, negative_prompt,
enabled enabled,
denoise
): ):
self.model = model self.model = model
reference_latent = vae.encode(reference_image[:,:,:,:3]) reference_latent = vae.encode(reference_image[:,:,:,:3])
@@ -44,11 +46,17 @@ class ApplyVisualStyle:
conditioning_prompt = reference_image_prompt + conditioning_prompt conditioning_prompt = reference_image_prompt + conditioning_prompt
negative_prompt = negative_prompt * 2 negative_prompt = negative_prompt * 2
latents = torch.zeros_like(reference_latent) latents = torch.zeros_like(reference_latent)
latents = torch.cat([latents] * 2) latents = torch.cat([latents] * 2)
latents[::2] = reference_latent if denoise < 1.0:
denoise_mask = torch.ones_like(latents)[:, :1, ...] latents[::1] = reference_latent
else:
latents[::2] = reference_latent
denoise_mask = torch.ones_like(latents)[:, :1, ...] * denoise
denoise_mask[0] = 0. denoise_mask[0] = 0.
return (model, conditioning_prompt, negative_prompt, {"samples": latents, "noise_mask": denoise_mask}) return (model, conditioning_prompt, negative_prompt, {"samples": latents, "noise_mask": denoise_mask})