Refactored ControNet support to consolidate multiple parameters into data struct. Also redid how multiple controlnets are handled.

This commit is contained in:
user1
2023-05-12 01:43:47 -07:00
committed by Kent Keirsey
parent d15bb88eb2
commit 11fc7e40a5
2 changed files with 28 additions and 31 deletions

View File

@ -670,6 +670,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline):
else:
latent_control_input = latent_model_input
# control_data should be type List[ControlNetData]
# this loop covers both ControlNet (one ControlNetData in list)
# and MultiControlNet (multiple ControlNetData in list)
for i, control_datum in enumerate(control_data):
@ -699,6 +700,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline):
for samples_prev, samples_curr in zip(down_block_res_samples, down_samples)
]
mid_block_res_sample += mid_sample
# predict the noise residual
noise_pred = self.invokeai_diffuser.do_diffusion_step(
latent_model_input,