





import argparse

from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection

from diffusers import UnCLIPImageVariationPipeline, UnCLIPPipeline


if __name__ == "__main__":
      snake_case 				=       argparse.ArgumentParser()

      parser.add_argument("""--dump_path""", default=None, type=str, required=True, help="""Path to the output model.""")

      parser.add_argument(
          """--txt2img_unclip""",
          default="""kakaobrain/karlo-v1-alpha""",
          type=str,
          required=False,
          help="""The pretrained txt2img unclip.""",
      )

      snake_case 				=       parser.parse_args()

      snake_case 				=       UnCLIPPipeline.from_pretrained(args.txtaimg_unclip)

      snake_case 				=       CLIPImageProcessor()
      snake_case 				=       CLIPVisionModelWithProjection.from_pretrained("""openai/clip-vit-large-patch14""")

      snake_case 				=       UnCLIPImageVariationPipeline(
          decoder=txtaimg.decoder,
          text_encoder=txtaimg.text_encoder,
          tokenizer=txtaimg.tokenizer,
          text_proj=txtaimg.text_proj,
          feature_extractor=feature_extractor,
          image_encoder=image_encoder,
          super_res_first=txtaimg.super_res_first,
          super_res_last=txtaimg.super_res_last,
          decoder_scheduler=txtaimg.decoder_scheduler,
          super_res_scheduler=txtaimg.super_res_scheduler,
      )

      imgaimg.save_pretrained(args.dump_path)










# NOTE: This file is deprecated and will be removed in a future version.
# It only exists so that temporarely `from diffusers.pipelines import DiffusionPipeline` works

from ...utils import deprecate
from ..controlnet.pipeline_flax_controlnet import FlaxStableDiffusionControlNetPipeline  # noqa: F401


deprecate(
    """stable diffusion controlnet""",
    """0.22.0""",
    """Importing `FlaxStableDiffusionControlNetPipeline` from diffusers.pipelines.stable_diffusion.flax_pipeline_stable_diffusion_controlnet is deprecated. Please import `from diffusers import FlaxStableDiffusionControlNetPipeline` instead.""",
    standard_warn=False,
    stacklevel=3,
)