





from typing import TYPE_CHECKING

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


A__:    int  	=	{
    '''configuration_speecht5''': [
        '''SPEECHT5_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''SPEECHT5_PRETRAINED_HIFIGAN_CONFIG_ARCHIVE_MAP''',
        '''SpeechT5Config''',
        '''SpeechT5HifiGanConfig''',
    ],
    '''feature_extraction_speecht5''': ['''SpeechT5FeatureExtractor'''],
    '''processing_speecht5''': ['''SpeechT5Processor'''],
}

try:
   if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A__:    List[str]  	=	['''SpeechT5Tokenizer''']

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A__:    Optional[int]  	=	[
       '''SPEECHT5_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''SpeechT5ForSpeechToText''',
       '''SpeechT5ForSpeechToSpeech''',
       '''SpeechT5ForTextToSpeech''',
       '''SpeechT5Model''',
       '''SpeechT5PreTrainedModel''',
       '''SpeechT5HifiGan''',
   ]

if TYPE_CHECKING:
   from .configuration_speechta import (
       SPEECHT5_PRETRAINED_CONFIG_ARCHIVE_MAP,
       SPEECHT5_PRETRAINED_HIFIGAN_CONFIG_ARCHIVE_MAP,
       SpeechTaConfig,
       SpeechTaHifiGanConfig,
   )
   from .feature_extraction_speechta import SpeechTaFeatureExtractor
   from .processing_speechta import SpeechTaProcessor

   try:
      if not is_sentencepiece_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_speechta import SpeechTaTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_speechta import (
          SPEECHT5_PRETRAINED_MODEL_ARCHIVE_LIST,
          SpeechTaForSpeechToSpeech,
          SpeechTaForSpeechToText,
          SpeechTaForTextToSpeech,
          SpeechTaHifiGan,
          SpeechTaModel,
          SpeechTaPreTrainedModel,
      )

else:
   import sys

   A__:    List[Any]  	=	_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)








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 				lowerCAmelCase_ (							A_    ,A_    ,A_):
    # Construct model
    if openai_config_file == "":
        UpperCamelCase__:	Optional[Any]					=     OpenAIGPTConfig()
    else:
        UpperCamelCase__:	List[Any]					=     OpenAIGPTConfig.from_json_file(A_)
    UpperCamelCase__:	Optional[Any]					=     OpenAIGPTModel(A_)

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

    # Save pytorch-model
    UpperCamelCase__:	Tuple					=     pytorch_dump_folder_path + "/" + WEIGHTS_NAME
    UpperCamelCase__:	List[Any]					=     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__":
   A__:    List[str]  	=	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__:    Union[str, Any]  	=	parser.parse_args()
   convert_openai_checkpoint_to_pytorch(
       args.openai_checkpoint_folder_path, args.openai_config_file, args.pytorch_dump_folder_path
   )

