Unverified Commit 298ab6eb authored by SahilCarterr's avatar SahilCarterr Committed by GitHub
Browse files

Added Support of Xlabs controlnet to FluxControlNetInpaintPipeline (#9770)

* added xlabs support
parent 73b59f52
...@@ -932,6 +932,9 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From ...@@ -932,6 +932,9 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From
) )
height, width = control_image.shape[-2:] height, width = control_image.shape[-2:]
# xlab controlnet has a input_hint_block and instantx controlnet does not
controlnet_blocks_repeat = False if self.controlnet.input_hint_block is None else True
if self.controlnet.input_hint_block is None:
# vae encode # vae encode
control_image = self.vae.encode(control_image).latent_dist.sample() control_image = self.vae.encode(control_image).latent_dist.sample()
control_image = (control_image - self.vae.config.shift_factor) * self.vae.config.scaling_factor control_image = (control_image - self.vae.config.shift_factor) * self.vae.config.scaling_factor
...@@ -954,7 +957,9 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From ...@@ -954,7 +957,9 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From
elif isinstance(self.controlnet, FluxMultiControlNetModel): elif isinstance(self.controlnet, FluxMultiControlNetModel):
control_images = [] control_images = []
for control_image_ in control_image: # xlab controlnet has a input_hint_block and instantx controlnet does not
controlnet_blocks_repeat = False if self.controlnet.nets[0].input_hint_block is None else True
for i, control_image_ in enumerate(control_image):
control_image_ = self.prepare_image( control_image_ = self.prepare_image(
image=control_image_, image=control_image_,
width=width, width=width,
...@@ -966,6 +971,7 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From ...@@ -966,6 +971,7 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From
) )
height, width = control_image_.shape[-2:] height, width = control_image_.shape[-2:]
if self.controlnet.nets[0].input_hint_block is None:
# vae encode # vae encode
control_image_ = self.vae.encode(control_image_).latent_dist.sample() control_image_ = self.vae.encode(control_image_).latent_dist.sample()
control_image_ = (control_image_ - self.vae.config.shift_factor) * self.vae.config.scaling_factor control_image_ = (control_image_ - self.vae.config.shift_factor) * self.vae.config.scaling_factor
...@@ -1129,6 +1135,7 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From ...@@ -1129,6 +1135,7 @@ class FluxControlNetInpaintPipeline(DiffusionPipeline, FluxLoraLoaderMixin, From
img_ids=latent_image_ids, img_ids=latent_image_ids,
joint_attention_kwargs=self.joint_attention_kwargs, joint_attention_kwargs=self.joint_attention_kwargs,
return_dict=False, return_dict=False,
controlnet_blocks_repeat=controlnet_blocks_repeat,
)[0] )[0]
# compute the previous noisy sample x_t -> x_t-1 # compute the previous noisy sample x_t -> x_t-1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment