






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       _SCREAMING_SNAKE_CASE    (			__lowercase :      Optional[Any]      ,					__lowercase :      List[Any]      ,					__lowercase :      Dict     )    ->   List[str]:





    """simple docstring"""

    if openai_config_file == "":
        __A       =						OpenAIGPTConfig()
    else:
        __A       =						OpenAIGPTConfig.from_json_file(UpperCamelCase_     )
    __A       =						OpenAIGPTModel(UpperCamelCase_     )

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

    # Save pytorch-model
    __A       =						pytorch_dump_folder_path + """/""" + WEIGHTS_NAME
    __A       =						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   :							Dict						= 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   :							Dict						= parser.parse_args()
  convert_openai_checkpoint_to_pytorch(
      args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
  )









from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase    	=		{
    "configuration_mctct": ["MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP", "MCTCTConfig"],
    "feature_extraction_mctct": ["MCTCTFeatureExtractor"],
    "processing_mctct": ["MCTCTProcessor"],
}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase    	=		[
       "MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST",
       "MCTCTForCTC",
       "MCTCTModel",
       "MCTCTPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_mctct import MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP, MCTCTConfig
   from .feature_extraction_mctct import MCTCTFeatureExtractor
   from .processing_mctct import MCTCTProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_mctct import MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST, MCTCTForCTC, MCTCTModel, MCTCTPreTrainedModel

else:
   import sys

   _lowercase    	=		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
