Skip to content

Commit a6804de

Browse files
committed
add controlnet union to auto & fix for pag
1 parent 7f897a9 commit a6804de

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_modular.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,7 +1598,7 @@ def inputs(self) -> List[Tuple[str, Any]]:
15981598
("control_guidance_start", 0.0),
15991599
("control_guidance_end", 1.0),
16001600
("controlnet_conditioning_scale", 1.0),
1601-
("control_mode", 0),
1601+
("control_mode", None),
16021602
("guess_mode", False),
16031603
("num_images_per_prompt", 1),
16041604
("guidance_scale", 5.0),
@@ -1791,8 +1791,9 @@ def __call__(self, pipeline, state: PipelineState) -> PipelineState:
17911791
control_type = (
17921792
control_type.reshape(1, -1)
17931793
.to(device, dtype=prompt_embeds.dtype)
1794-
.repeat(batch_size * num_images_per_prompt * 2, 1)
17951794
)
1795+
control_type = pipeline.controlnet_guider.prepare_input(control_type, control_type)
1796+
17961797
with pipeline.progress_bar(total=num_inference_steps) as progress_bar:
17971798
for i, t in enumerate(timesteps):
17981799
# prepare latents for unet using the guider
@@ -2050,9 +2051,9 @@ class StableDiffusionXLAutoBeforeDenoiseStep(AutoPipelineBlocks):
20502051

20512052

20522053
class StableDiffusionXLAutoDenoiseStep(AutoPipelineBlocks):
2053-
block_classes = [StableDiffusionXLControlNetDenoiseStep, StableDiffusionXLDenoiseStep]
2054-
block_names = ["controlnet", "unet"]
2055-
block_trigger_inputs = ["control_image", None]
2054+
block_classes = [StableDiffusionXLControlNetUnionDenoiseStep, StableDiffusionXLControlNetDenoiseStep, StableDiffusionXLDenoiseStep]
2055+
block_names = ["controlnet_union", "controlnet", "unet"]
2056+
block_trigger_inputs = ["control_mode", "control_image", None]
20562057

20572058

20582059
class StableDiffusionXLAutoDecodeStep(AutoPipelineBlocks):

0 commit comments

Comments
 (0)