






import argparse

import torch

from transformers import OpenAIGPTConfig, OpenAIGPTModel, load_tf_weights_in_openai_gpt
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()





def       __lowerCAmelCase      (						__snake_case					, __snake_case					, __snake_case       ):
     # Construct model
     if openai_config_file == "":
          __lowerCAmelCase								=					OpenAIGPTConfig()
     else:
          __lowerCAmelCase								=					OpenAIGPTConfig.from_json_file(__snake_case       )
     __lowerCAmelCase								=					OpenAIGPTModel(__snake_case       )

     # Load weights from numpy
     load_tf_weights_in_openai_gpt(__snake_case					, __snake_case					, __snake_case       )

     # Save pytorch-model
     __lowerCAmelCase								=					pytorch_dump_folder_path + "/" + WEIGHTS_NAME
     __lowerCAmelCase								=					pytorch_dump_folder_path + "/" + CONFIG_NAME
     print(F"""Save PyTorch model to {pytorch_weights_dump_path}"""       )
     torch.save(model.state_dict()					, __snake_case       )
     print(F"""Save configuration file to {pytorch_config_dump_path}"""       )
     with open(__snake_case					, "w"					, encoding="utf-8"       ) as f:
          f.write(config.to_json_string()       )


if __name__ == "__main__":
 lowerCamelCase			:					Optional[Any]         =	argparse.ArgumentParser()
 # Required parameters
 parser.add_argument(
     '''--openai_checkpoint_folder_path''',
     default=None,
     type=str,
     required=True,
     help='''Path to the TensorFlow checkpoint path.''',
 )
 parser.add_argument(
     '''--pytorch_dump_folder_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
 )
 parser.add_argument(
     '''--openai_config_file''',
     default='''''',
     type=str,
     help=(
         '''An optional config json file corresponding to the pre-trained OpenAI model. \n'''
         '''This specifies the model architecture.'''
     ),
 )
 lowerCamelCase			:					Tuple         =	parser.parse_args()
 convert_openai_checkpoint_to_pytorch(
     args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
 )














def       __lowerCAmelCase      (						__snake_case       ):
     __lowerCAmelCase								=					len(__snake_case       )
     while cur > 1:
          # Find the maximum number in arr
          __lowerCAmelCase								=					arr.index(max(arr[0:cur]       )       )
          # Reverse from 0 to mi
          __lowerCAmelCase								=					arr[mi::-1] + arr[mi + 1 : len(__snake_case       )]
          # Reverse whole list
          __lowerCAmelCase								=					arr[cur - 1 :: -1] + arr[cur : len(__snake_case       )]
          cur -= 1
     return arr


if __name__ == "__main__":
 lowerCamelCase			:					List[str]         =	input('''Enter numbers separated by a comma:\n''').strip()
 lowerCamelCase			:					Tuple         =	[int(item) for item in user_input.split(''',''')]
 print(pancake_sort(unsorted))






