
import argparse

import torch

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


logging.set_verbosity_info()


def     UpperCAmelCase_  (						__lowerCAmelCase	,					__lowerCAmelCase	,					__lowerCAmelCase	) ->						Tuple:
    # Initialise PyTorch model
    __lowercase		:			List[Any]	    =       MobileBertConfig.from_json_file(__lowerCAmelCase	)
    print(F'Building PyTorch model from configuration: {config}'	)
    __lowercase		:			Optional[int]	    =       MobileBertForPreTraining(__lowerCAmelCase	)
    # Load weights from tf checkpoint
    __lowercase		:			int	    =       load_tf_weights_in_mobilebert(__lowerCAmelCase	,					__lowerCAmelCase	,					__lowerCAmelCase	)
    # Save pytorch-model
    print(F'Save PyTorch model to {pytorch_dump_path}'	)
    torch.save(model.state_dict()	,					__lowerCAmelCase	)


if __name__ == "__main__":
 __lowerCAmelCase					:			int			      =		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					:			Optional[int]			      =		parser.parse_args()
 convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.mobilebert_config_file, args.pytorch_dump_path)




__lowerCAmelCase					:			Dict			      =		"\n# Installazione di Transformers\n! pip install transformers datasets\n# Per installare dalla fonte invece dell'ultima versione rilasciata, commenta il comando sopra e\n# rimuovi la modalità commento al comando seguente.\n# ! pip install git+https://github.com/huggingface/transformers.git\n"

__lowerCAmelCase					:			Tuple			      =		[{"type": "code", "content": INSTALL_CONTENT}]
__lowerCAmelCase					:			List[Any]			      =		{
    "{processor_class}": "FakeProcessorClass",
    "{model_class}": "FakeModelClass",
    "{object_class}": "FakeObjectClass",
}


