
import argparse

from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection

from diffusers import UnCLIPImageVariationPipeline, UnCLIPPipeline


if __name__ == "__main__":
  lowercase  : Tuple						   =							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.""",
  )

  lowercase  : List[str]						   =							parser.parse_args()

  lowercase  : Any						   =							UnCLIPPipeline.from_pretrained(args.txtaimg_unclip)

  lowercase  : Optional[int]						   =							CLIPImageProcessor()
  lowercase  : Union[str, Any]						   =							CLIPVisionModelWithProjection.from_pretrained("""openai/clip-vit-large-patch14""")

  lowercase  : Optional[Any]						   =							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)

print((lambda quine: quine % quine)("""print((lambda quine: quine %% quine)(%r))"""))
