Core implementation of ControlNet and MultiControlNet.

This commit is contained in:
user1 2023-05-26 13:02:45 -07:00 committed by Kent Keirsey
parent c4277b0662
commit 768cfe3aab

View File

@ -803,7 +803,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline):
noise: torch.Tensor, noise: torch.Tensor,
run_id=None, run_id=None,
callback=None, callback=None,
) -> InvokeAIStableDiffusionPipelineOutput: ) -> InvokeAIStableDiffusionPipelineOutput:
timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength) timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength)
result_latents, result_attention_maps = self.latents_from_embeddings( result_latents, result_attention_maps = self.latents_from_embeddings(
latents=initial_latents if strength < 1.0 else torch.zeros_like( latents=initial_latents if strength < 1.0 else torch.zeros_like(
@ -1031,7 +1031,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline):
dtype=torch.float16, dtype=torch.float16,
do_classifier_free_guidance=True, do_classifier_free_guidance=True,
): ):
if not isinstance(image, torch.Tensor): if not isinstance(image, torch.Tensor):
if isinstance(image, PIL.Image.Image): if isinstance(image, PIL.Image.Image):
image = [image] image = [image]