From ee6ad51d96cc1f2ff2a5117fce2eec522b27424d Mon Sep 17 00:00:00 2001 From: "Frank (Haofan) Wang" Date: Fri, 18 Apr 2025 04:05:01 +0800 Subject: [PATCH] Update controlnet_flux.py (#11350) --- .../models/controlnets/controlnet_flux.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/diffusers/models/controlnets/controlnet_flux.py b/src/diffusers/models/controlnets/controlnet_flux.py index b619bfa652..9041b09649 100644 --- a/src/diffusers/models/controlnets/controlnet_flux.py +++ b/src/diffusers/models/controlnets/controlnet_flux.py @@ -430,7 +430,7 @@ class FluxMultiControlNetModel(ModelMixin): ) -> Union[FluxControlNetOutput, Tuple]: # ControlNet-Union with multiple conditions # only load one ControlNet for saving memories - if len(self.nets) == 1 and self.nets[0].union: + if len(self.nets) == 1: controlnet = self.nets[0] for i, (image, mode, scale) in enumerate(zip(controlnet_cond, controlnet_mode, conditioning_scale)): @@ -454,17 +454,18 @@ class FluxMultiControlNetModel(ModelMixin): control_block_samples = block_samples control_single_block_samples = single_block_samples else: - control_block_samples = [ - control_block_sample + block_sample - for control_block_sample, block_sample in zip(control_block_samples, block_samples) - ] - - control_single_block_samples = [ - control_single_block_sample + block_sample - for control_single_block_sample, block_sample in zip( - control_single_block_samples, single_block_samples - ) - ] + if block_samples is not None and control_block_samples is not None: + control_block_samples = [ + control_block_sample + block_sample + for control_block_sample, block_sample in zip(control_block_samples, block_samples) + ] + if single_block_samples is not None and control_single_block_samples is not None: + control_single_block_samples = [ + control_single_block_sample + block_sample + for control_single_block_sample, block_sample in zip( + control_single_block_samples, single_block_samples + ) + ] # Regular Multi-ControlNets # load all ControlNets into memories