




"""simple docstring"""




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_tf_available,
    is_torch_available,
)


a_        =       {
    'configuration_speech_to_text': ['SPEECH_TO_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'Speech2TextConfig'],
    'processing_speech_to_text': ['Speech2TextProcessor'],
}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a_        =       ['Speech2TextTokenizer']

try:
			if not is_speech_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a_        =       ['Speech2TextFeatureExtractor']

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a_        =       [
			    'TF_SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'TFSpeech2TextForConditionalGeneration',
			    'TFSpeech2TextModel',
			    'TFSpeech2TextPreTrainedModel',
			]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a_        =       [
			    'SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'Speech2TextForConditionalGeneration',
			    'Speech2TextModel',
			    'Speech2TextPreTrainedModel',
			]


if TYPE_CHECKING:
			from .configuration_speech_to_text import SPEECH_TO_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP, SpeechaTextConfig
			from .processing_speech_to_text import SpeechaTextProcessor

			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_speech_to_text import SpeechaTextTokenizer

			try:
						if not is_speech_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .feature_extraction_speech_to_text import SpeechaTextFeatureExtractor

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_speech_to_text import (
						    TF_SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFSpeechaTextForConditionalGeneration,
						    TFSpeechaTextModel,
						    TFSpeechaTextPreTrainedModel,
						)

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_speech_to_text import (
						    SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    SpeechaTextForConditionalGeneration,
						    SpeechaTextModel,
						    SpeechaTextPreTrainedModel,
						)

else:
			import sys

			a_        =       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





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 a__       (			A_,	A_,	A_   ):






  '''simple docstring'''





  if gpta_config_file == "":
    __magic_name__								=			GPTaConfig()
  else:
    __magic_name__								=			GPTaConfig.from_json_file(A_   )
  __magic_name__								=			GPTaModel(A_   )

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

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


if __name__ == "__main__":
    __lowerCAmelCase     :	List[str]       			=  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.'
        ),
    )
    __lowerCAmelCase     :	Tuple       			=  parser.parse_args()
    convert_gpta_checkpoint_to_pytorch(args.gpta_checkpoint_path, args.gpta_config_file, args.pytorch_dump_folder_path)

