




"""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      __snake_case (				_lowercase			,_lowercase			,_lowercase    ):


    """simple docstring"""







    if gpta_config_file == "":
        UpperCamelCase              =	GPTaConfig()
    else:
        UpperCamelCase              =	GPTaConfig.from_json_file(lowerCAmelCase__    )
    UpperCamelCase              =	GPTaModel(lowerCAmelCase__    )

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

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


if __name__ == "__main__":
  SCREAMING_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.'
      ),
  )
  SCREAMING_SNAKE_CASE_	     =       parser.parse_args()
  convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)






_lowercase		:  Optional[Any]			       ="""
# Transformers installation
! pip install transformers datasets
# To install from source instead of the last release, comment the command above and uncomment the following one.
# ! pip install git+https://github.com/huggingface/transformers.git
"""

_lowercase		:  Union[str, Any]			       =[{"""type""": """code""", """content""": INSTALL_CONTENT}]
_lowercase		:  List[Any]			       ={
    """{processor_class}""": """FakeProcessorClass""",
    """{model_class}""": """FakeModelClass""",
    """{object_class}""": """FakeObjectClass""",
}
