

'''simple docstring'''






from typing import TYPE_CHECKING

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


lowerCAmelCase__      		=			{
    '''configuration_xlm''': ['''XLM_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''XLMConfig''', '''XLMOnnxConfig'''],
    '''tokenization_xlm''': ['''XLMTokenizer'''],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCAmelCase__      		=			[
     '''XLM_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''XLMForMultipleChoice''',
     '''XLMForQuestionAnswering''',
     '''XLMForQuestionAnsweringSimple''',
     '''XLMForSequenceClassification''',
     '''XLMForTokenClassification''',
     '''XLMModel''',
     '''XLMPreTrainedModel''',
     '''XLMWithLMHeadModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCAmelCase__      		=			[
     '''TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''TFXLMForMultipleChoice''',
     '''TFXLMForQuestionAnsweringSimple''',
     '''TFXLMForSequenceClassification''',
     '''TFXLMForTokenClassification''',
     '''TFXLMMainLayer''',
     '''TFXLMModel''',
     '''TFXLMPreTrainedModel''',
     '''TFXLMWithLMHeadModel''',
 ]


if TYPE_CHECKING:
 from .configuration_xlm import XLM_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMConfig, XLMOnnxConfig
 from .tokenization_xlm import XLMTokenizer

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_xlm import (
      XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
      XLMForMultipleChoice,
      XLMForQuestionAnswering,
      XLMForQuestionAnsweringSimple,
      XLMForSequenceClassification,
      XLMForTokenClassification,
      XLMModel,
      XLMPreTrainedModel,
      XLMWithLMHeadModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_xlm import (
      TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFXLMForMultipleChoice,
      TFXLMForQuestionAnsweringSimple,
      TFXLMForSequenceClassification,
      TFXLMForTokenClassification,
      TFXLMMainLayer,
      TFXLMModel,
      TFXLMPreTrainedModel,
      TFXLMWithLMHeadModel,
  )

else:
 import sys

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




'''simple docstring'''






import argparse

from transformers import TaConfig, TaForConditionalGeneration, load_tf_weights_in_ta
from transformers.utils import logging


logging.set_verbosity_info()


def 	_A  (					A__  ,       A__  ,       A__   ):






 """simple docstring"""



 __lowercase													=				TaConfig.from_json_file(A__   )
 print(F"Building PyTorch model from configuration: {config}"   )
 __lowercase													=				TaForConditionalGeneration(A__   )

 # Load weights from tf checkpoint
 load_tf_weights_in_ta(A__  ,       A__  ,       A__   )

 # Save pytorch-model
 print(F"Save PyTorch model to {pytorch_dump_path}"   )
 model.save_pretrained(A__   )


if __name__ == "__main__":
 lowerCAmelCase__      		=			argparse.ArgumentParser()
 # Required parameters
 parser.add_argument(
     '''--tf_checkpoint_path''', default=None, type=str, required=True, help='''Path to the TensorFlow checkpoint path.'''
 )
 parser.add_argument(
     '''--config_file''',
     default=None,
     type=str,
     required=True,
     help=(
         '''The config json file corresponding to the pre-trained T5 model. \nThis specifies the model architecture.'''
     ),
 )
 parser.add_argument(
     '''--pytorch_dump_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
 )
 lowerCAmelCase__      		=			parser.parse_args()
 convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)

