




def 		lowerCamelCase__       (						_A				):







	'''simple docstring'''





	return [
	    txt[:a] + txt[a].upper() + txt[a + 1 :]
	    for a in range(len(_A				)				)
	    if txt[a].isalpha()
	]


if __name__ == "__main__":
		__import__("doctest").testmod()






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__       (						_A	,      _A	,      _A				):







	'''simple docstring'''





	snake_case_						       =	MobileBertConfig.from_json_file(_A				)
	print(f"Building PyTorch model from configuration: {config}"				)
	snake_case_						       =	MobileBertForPreTraining(_A				)
	# Load weights from tf checkpoint
	snake_case_						       =	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__":
		lowercase__							:	Dict											=		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__							:	Tuple											=		parser.parse_args()
		convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.mobilebert_config_file, args.pytorch_dump_path)
