



# coding=utf-8
# Copyright 2020 The HuggingFace Inc. team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# this script dumps information about the environment

import os
import sys

import transformers


lowerCAmelCase: Union[str, Any]							=						'''3'''

print('Python version:', sys.version)
print('transformers version:', transformers.__version__)

try:
     import torch

     print('Torch version:', torch.__version__)
     print('Cuda available:', torch.cuda.is_available())
     print('Cuda version:', torch.version.cuda)
     print('CuDNN version:', torch.backends.cudnn.version())
     print('Number of GPUs available:', torch.cuda.device_count())
     print('NCCL version:', torch.cuda.nccl.version())
except ImportError:
     print('Torch version:', None)

try:
     import deepspeed

     print('DeepSpeed version:', deepspeed.__version__)
except ImportError:
     print('DeepSpeed version:', None)

try:
     import tensorflow as tf

     print('TensorFlow version:', tf.__version__)
     print('TF GPUs available:', bool(tf.config.list_physical_devices('GPU')))
     print('Number of TF GPUs available:', len(tf.config.list_physical_devices('GPU')))
except ImportError:
     print('TensorFlow version:', None)




'''simple docstring'''






import argparse

from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection

from diffusers import UnCLIPImageVariationPipeline, UnCLIPPipeline


if __name__ == "__main__":
     lowerCAmelCase: Any							=						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.',
     )

     lowerCAmelCase: Optional[int]							=						parser.parse_args()

     lowerCAmelCase: List[Any]							=						UnCLIPPipeline.from_pretrained(args.txtaimg_unclip)

     lowerCAmelCase: Optional[Any]							=						CLIPImageProcessor()
     lowerCAmelCase: Tuple							=						CLIPVisionModelWithProjection.from_pretrained('openai/clip-vit-large-patch14')

     lowerCAmelCase: List[str]							=						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)