


"""simple docstring"""



import argparse

import torch

from transformers import GPTaConfig, GPTaModel, load_tf_weights_in_gpta
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


logging.set_verbosity_info()







def   __lowerCAmelCase						(						lowercase  :  Union[str, Any]						,							lowercase  :  Tuple						,							lowercase  :  str )	->						int:


    """simple docstring"""





    if gpta_config_file == "":
        snake_case    :      List[str]      					=    GPTaConfig()
    else:
        snake_case    :      int      					=    GPTaConfig.from_json_file(lowercase )
    snake_case    :      List[str]      					=    GPTaModel(lowercase )

    # Load weights from numpy
    load_tf_weights_in_gpta(lowercase						,							lowercase						,							lowercase )

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


if __name__ == "__main__":
  __snake_case   			=    argparse.ArgumentParser()
  # Required parameters
  parser.add_argument(
      """--gpt2_checkpoint_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(
      """--gpt2_config_file""",
      default="""""",
      type=str,
      help=(
          """An optional config json file corresponding to the pre-trained OpenAI model. \n"""
          """This specifies the model architecture."""
      ),
  )
  __snake_case   			=    parser.parse_args()
  convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)









"""simple docstring"""



def   __lowerCAmelCase						(						lowercase  :  int )	->						bool:


    """simple docstring"""





    if p < 2:
        raise ValueError("p should not be less than 2!" )
    elif p == 2:
        return True

    snake_case    :      Dict      					=    4
    snake_case    :      str      					=    (1 << p) - 1
    for _ in range(p - 2 ):
        snake_case    :      Any      					=    ((s * s) - 2) % m
    return s == 0


if __name__ == "__main__":
  print(lucas_lehmer_test(7))
  print(lucas_lehmer_test(11))





