Unverified Commit 9d50f7ee authored by Sayak Paul's avatar Sayak Paul Committed by GitHub
Browse files

[Core] `is_cosxl_edit` arg in SDXL ip2p. (#7650)



* is_cosxl_edit arg in SDXL ip2p.

* Empty-Commit
Co-authored-by: default avatarYiyi Xu <yixu310@gmail.com>

* doc

* remove redundant logic.

* reflect drhuv's comments.

---------
Co-authored-by: default avatarYiyi Xu <yixu310@gmail.com>
Co-authored-by: default avatarDhruv Nair <dhruv.nair@gmail.com>
parent fda1531d
...@@ -169,6 +169,8 @@ class StableDiffusionXLInstructPix2PixPipeline( ...@@ -169,6 +169,8 @@ class StableDiffusionXLInstructPix2PixPipeline(
Whether to use the [invisible_watermark library](https://github.com/ShieldMnt/invisible-watermark/) to Whether to use the [invisible_watermark library](https://github.com/ShieldMnt/invisible-watermark/) to
watermark output images. If not defined, it will default to True if the package is installed, otherwise no watermark output images. If not defined, it will default to True if the package is installed, otherwise no
watermarker will be used. watermarker will be used.
is_cosxl_edit (`bool`, *optional*):
When set the image latents are scaled.
""" """
model_cpu_offload_seq = "text_encoder->text_encoder_2->unet->vae" model_cpu_offload_seq = "text_encoder->text_encoder_2->unet->vae"
...@@ -185,6 +187,7 @@ class StableDiffusionXLInstructPix2PixPipeline( ...@@ -185,6 +187,7 @@ class StableDiffusionXLInstructPix2PixPipeline(
scheduler: KarrasDiffusionSchedulers, scheduler: KarrasDiffusionSchedulers,
force_zeros_for_empty_prompt: bool = True, force_zeros_for_empty_prompt: bool = True,
add_watermarker: Optional[bool] = None, add_watermarker: Optional[bool] = None,
is_cosxl_edit: Optional[bool] = False,
): ):
super().__init__() super().__init__()
...@@ -201,6 +204,7 @@ class StableDiffusionXLInstructPix2PixPipeline( ...@@ -201,6 +204,7 @@ class StableDiffusionXLInstructPix2PixPipeline(
self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1) self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor) self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor)
self.default_sample_size = self.unet.config.sample_size self.default_sample_size = self.unet.config.sample_size
self.is_cosxl_edit = is_cosxl_edit
add_watermarker = add_watermarker if add_watermarker is not None else is_invisible_watermark_available() add_watermarker = add_watermarker if add_watermarker is not None else is_invisible_watermark_available()
...@@ -551,6 +555,9 @@ class StableDiffusionXLInstructPix2PixPipeline( ...@@ -551,6 +555,9 @@ class StableDiffusionXLInstructPix2PixPipeline(
if image_latents.dtype != self.vae.dtype: if image_latents.dtype != self.vae.dtype:
image_latents = image_latents.to(dtype=self.vae.dtype) image_latents = image_latents.to(dtype=self.vae.dtype)
if self.is_cosxl_edit:
image_latents = image_latents * self.vae.config.scaling_factor
return image_latents return image_latents
# Copied from diffusers.pipelines.stable_diffusion_xl.pipeline_stable_diffusion_xl.StableDiffusionXLPipeline._get_add_time_ids # Copied from diffusers.pipelines.stable_diffusion_xl.pipeline_stable_diffusion_xl.StableDiffusionXLPipeline._get_add_time_ids
......
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