Skip to content

Commit e49c04d

Browse files
Bug fix for controlnetpipeline check_image (#7103)
* Bug fix for controlnetpipeline check_image Bug fix for controlnetpipeline check_image when using multicontrolnet and prompt list * Update test_inference_multiple_prompt_input function * Update test_controlnet.py add test for multiple prompts and multiple image conditioning * Update test_controlnet.py Fix format error --------- Co-authored-by: Lvkesheng Shen <[email protected]> Co-authored-by: Sayak Paul <[email protected]>
1 parent f238cb0 commit e49c04d

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/diffusers/pipelines/controlnet/pipeline_controlnet.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -661,9 +661,9 @@ def check_inputs(
661661
raise ValueError(
662662
f"For multiple controlnets: `image` must have the same length as the number of controlnets, but got {len(image)} images and {len(self.controlnet.nets)} ControlNets."
663663
)
664-
665-
for image_ in image:
666-
self.check_image(image_, prompt, prompt_embeds)
664+
else:
665+
for image_ in image:
666+
self.check_image(image_, prompt, prompt_embeds)
667667
else:
668668
assert False
669669

tests/pipelines/controlnet/test_controlnet.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,15 @@ def test_inference_multiple_prompt_input(self):
494494

495495
assert np.abs(image - output_1.images).max() < 1e-3
496496

497+
# multiple prompts, multiple image conditioning
498+
inputs = self.get_dummy_inputs(device)
499+
inputs["prompt"] = [inputs["prompt"], inputs["prompt"], inputs["prompt"], inputs["prompt"]]
500+
inputs["image"] = [inputs["image"], inputs["image"], inputs["image"], inputs["image"]]
501+
output_2 = sd_pipe(**inputs)
502+
image = output_2.images
503+
504+
assert image.shape == (4, 64, 64, 3)
505+
497506

498507
class StableDiffusionMultiControlNetOneModelPipelineFastTests(
499508
IPAdapterTesterMixin, PipelineTesterMixin, PipelineKarrasSchedulerTesterMixin, unittest.TestCase

0 commit comments

Comments
 (0)