
"""simple docstring"""




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 						lowercase_      (       A__			,		A__			,		A__		)							->							Optional[int]:
    """simple docstring"""

    if openai_config_file == "":
        snake_case								= OpenAIGPTConfig()
    else:
        snake_case								= OpenAIGPTConfig.from_json_file(_UpperCamelCase		)
    snake_case								= OpenAIGPTModel(_UpperCamelCase		)

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

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


if __name__ == "__main__":
   _A   =			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."
       ),
   )
   _A   =			parser.parse_args()
   convert_openai_checkpoint_to_pytorch(
       args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
   )



from ....utils import logging


_A   =			logging.get_logger(__name__)







class 					lowerCamelCase		(  A_  ):





     def __init__(self				:   Tuple    ,   _A				:   Optional[int]    ,   _A				:   Tuple=None    ,   _A				:   Union[str, Any]=2_0_4_8       )						->						List[Any]:
         snake_case								= config.__dict__
         snake_case								= modal_hidden_size
         if num_labels:
             snake_case								= num_labels

