






"""simple docstring"""
import argparse

import torch

from transformers import MobileBertConfig, MobileBertForPreTraining, load_tf_weights_in_mobilebert
from transformers.utils import logging


logging.set_verbosity_info()

def        snake_case   (     A__			,A__			,A__		):
			# Initialise PyTorch model
			UpperCAmelCase_  :				List[Any]      =      MobileBertConfig.from_json_file(A__		)
			print(F"""Building PyTorch model from configuration: {config}"""		)
			UpperCAmelCase_  :				List[Any]      =      MobileBertForPreTraining(A__		)
			# Load weights from tf checkpoint
			UpperCAmelCase_  :				str      =      load_tf_weights_in_mobilebert(A__			,A__			,A__		)
			# Save pytorch-model
			print(F"""Save PyTorch model to {pytorch_dump_path}"""		)
			torch.save(model.state_dict()			,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(
			    '''--mobilebert_config_file''',
			    default=None,
			    type=str,
			    required=True,
			    help=(
			        '''The config json file corresponding to the pre-trained MobileBERT model. \n'''
			        '''This 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.mobilebert_config_file, args.pytorch_dump_path)











"""simple docstring"""
from ..utils import DummyObject, requires_backends







class     UpperCamelCase_ (metaclass=__A  ):
	__magic_name__			   =       ['''onnx''']





	def __init__(   self      :				List[Any]			,			*lowerCAmelCase_      :				Dict			,			**lowerCAmelCase_      :				Dict		)		->    Dict:
				requires_backends(self			,			["onnx"]		)





	@classmethod
	def   _SCREAMING_SNAKE_CASE   (   cls      :				Optional[Any]			,			*lowerCAmelCase_      :				Dict			,			**lowerCAmelCase_      :				Union[str, Any]		)		->    int:
				requires_backends(cls			,			["onnx"]		)





	@classmethod
	def   _SCREAMING_SNAKE_CASE   (   cls      :				str			,			*lowerCAmelCase_      :				Optional[Any]			,			**lowerCAmelCase_      :				str		)		->    Optional[Any]:
				requires_backends(cls			,			["onnx"]		)



