"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__A  =				{
    '''configuration_lxmert''': ['''LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''LxmertConfig'''],
    '''tokenization_lxmert''': ['''LxmertTokenizer'''],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A  =				['''LxmertTokenizerFast''']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A  =				[
				    '''LxmertEncoder''',
				    '''LxmertForPreTraining''',
				    '''LxmertForQuestionAnswering''',
				    '''LxmertModel''',
				    '''LxmertPreTrainedModel''',
				    '''LxmertVisualFeatureEncoder''',
				    '''LxmertXLayer''',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A  =				[
				    '''TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''TFLxmertForPreTraining''',
				    '''TFLxmertMainLayer''',
				    '''TFLxmertModel''',
				    '''TFLxmertPreTrainedModel''',
				    '''TFLxmertVisualFeatureEncoder''',
				]


if TYPE_CHECKING:
				from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
				from .tokenization_lxmert import LxmertTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_lxmert_fast import LxmertTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_lxmert import (
								    LxmertEncoder,
								    LxmertForPreTraining,
								    LxmertForQuestionAnswering,
								    LxmertModel,
								    LxmertPreTrainedModel,
								    LxmertVisualFeatureEncoder,
								    LxmertXLayer,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_lxmert import (
								    TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFLxmertForPreTraining,
								    TFLxmertMainLayer,
								    TFLxmertModel,
								    TFLxmertPreTrainedModel,
								    TFLxmertVisualFeatureEncoder,
								)

else:
				import sys

				__A  =				_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    lowercase_   (   _lowerCamelCase:	Dict						,   _lowerCamelCase:	str						,   _lowerCamelCase:	Dict      ) ->      List[str]:



							'''simple docstring'''

							__lowerCamelCase					:		List[Any]		   =     TaConfig.from_json_file(_lowerCamelCase      )
							print(F"""Building PyTorch model from configuration: {config}"""      )
							__lowerCamelCase					:		Optional[int]		   =     TaForConditionalGeneration(_lowerCamelCase      )

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

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


if __name__ == "__main__":
				__A  =				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.'''
				)
				__A  =				parser.parse_args()
				convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)