




'''simple docstring'''



import argparse
import json

from transformers import GPTNeoConfig, GPTNeoForCausalLM, load_tf_weights_in_gpt_neo
from transformers.utils import logging


logging.set_verbosity_info()
def 				SCREAMING_SNAKE_CASE_				(							__A       :				List[str] ,  __A       :				Optional[Any] ,  __A       :				Union[str, Any]						)				->				Any:
   # Initialise PyTorch model
   _SCREAMING_SNAKE_CASE =   json.load(open(__A ,  "r"						)						)
   _SCREAMING_SNAKE_CASE =   GPTNeoConfig(
       hidden_size=config_json["n_embd"] ,  num_layers=config_json["n_layer"] ,  num_heads=config_json["n_head"] ,  attention_types=config_json["attention_types"] ,  max_position_embeddings=config_json["n_positions"] ,  resid_dropout=config_json["res_dropout"] ,  embed_dropout=config_json["embed_dropout"] ,  attention_dropout=config_json["attn_dropout"] ,  )
   print(f"""Building PyTorch model from configuration: {config}"""						)
   _SCREAMING_SNAKE_CASE =   GPTNeoForCausalLM(__A						)

   # Load weights from tf checkpoint
   load_tf_weights_in_gpt_neo(__A ,  __A ,  __A						)

   # Save pytorch-model
   print(f"""Save PyTorch model to {pytorch_dump_path}"""						)
   model.save_pretrained(__A						)


if __name__ == "__main__":
 lowerCamelCase_	 =		argparse.ArgumentParser()
 # Required parameters
 parser.add_argument(
     '--tf_checkpoint_path', default=None, type=str, required=True, help='Path to the TensorFlow checkpoint path.'
 )
 parser.add_argument(
     '--config_file',
     default=None,
     type=str,
     required=True,
     help=(
         'The config json file corresponding to the pre-trained mesh-tf model. \n'
         'This specifies the model architecture.'
     ),
 )
 parser.add_argument(
     '--pytorch_dump_path', default=None, type=str, required=True, help='Path to the output PyTorch model.'
 )
 lowerCamelCase_	 =		parser.parse_args()
 convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)







'''simple docstring'''



def 				SCREAMING_SNAKE_CASE_				(							__A       :				List[Any] ,  __A       :				Dict						)				->				Union[str, Any]:
   if n == 0:
      return 1

   elif n % 2 == 1:
      return binary_exponentiation(__A ,  n - 1						) * a

   else:
      _SCREAMING_SNAKE_CASE =   binary_exponentiation(__A ,  n / 2						)
      return b * b


if __name__ == "__main__":
 try:
  lowerCamelCase_	 =		int(input('Enter Base : ').strip())
  lowerCamelCase_	 =		int(input('Enter Power : ').strip())
 except ValueError:
  print('Invalid literal for integer')

 lowerCamelCase_	 =		binary_exponentiation(BASE, POWER)
 print(f'''{BASE}^({POWER}) : {RESULT}''')

