


import argparse

import torch

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


logging.set_verbosity_info()





def 	_lowerCAmelCase					( UpperCamelCase__:  int				,       UpperCamelCase__:  Dict				,       UpperCamelCase__:  Dict    )			-> Dict:





	"""simple docstring"""







	A             =					MobileBertConfig.from_json_file(UpperCamelCase__    )
	print(f'Building PyTorch model from configuration: {config}'    )
	A             =					MobileBertForPreTraining(UpperCamelCase__    )
	# Load weights from tf checkpoint
	A             =					load_tf_weights_in_mobilebert(UpperCamelCase__				,       UpperCamelCase__				,       UpperCamelCase__    )
	# Save pytorch-model
	print(f'Save PyTorch model to {pytorch_dump_path}'    )
	torch.save(model.state_dict()				,       UpperCamelCase__    )


if __name__ == "__main__":
				_lowercase							:   Union[str, Any]						=						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."
				)
				_lowercase							:   Union[str, Any]						=						parser.parse_args()
				convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.mobilebert_config_file, args.pytorch_dump_path)







from ..utils import DummyObject, requires_backends






class    _UpperCamelCase     (       metaclass=__snake_case					):

				"""simple docstring"""







				lowerCAmelCase					=			['note_seq']

				def __init__(    self					, *a__					, **a__ )						->					Optional[int]:
					requires_backends(self					, ["""note_seq"""] )

				@classmethod
				def   _UpperCAmelCase       (    cls					, *a__					, **a__ )						->					Dict:
					requires_backends(cls					, ["""note_seq"""] )

				@classmethod
				def   _UpperCAmelCase       (    cls					, *a__					, **a__ )						->					Optional[int]:
					requires_backends(cls					, ["""note_seq"""] )



