


'''simple docstring'''






import argparse

import torch

from transformers import ElectraConfig, ElectraForMaskedLM, ElectraForPreTraining, load_tf_weights_in_electra
from transformers.utils import logging


logging.set_verbosity_info()


def 					_snake_case   (     A ,    A ,    A ,    A       )						->    Any:
							# Initialise PyTorch model
							lowerCAmelCase__          =	ElectraConfig.from_json_file(A       )
							print(F"""Building PyTorch model from configuration: {config}"""       )

							if discriminator_or_generator == "discriminator":
														lowerCAmelCase__          =	ElectraForPreTraining(A       )
							elif discriminator_or_generator == "generator":
														lowerCAmelCase__          =	ElectraForMaskedLM(A       )
							else:
														raise ValueError('''The discriminator_or_generator argument should be either \'discriminator\' or \'generator\''''       )

							# Load weights from tf checkpoint
							load_tf_weights_in_electra(
							    A ,    A ,    A ,    discriminator_or_generator=A       )

							# Save pytorch-model
							print(F"""Save PyTorch model to {pytorch_dump_path}"""       )
							torch.save(model.state_dict() ,    A       )


if __name__ == "__main__":
		__UpperCAmelCase    				=							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 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.'''
		)
		parser.add_argument(
		    '''--discriminator_or_generator''',
		    default=None,
		    type=str,
		    required=True,
		    help=(
		        '''Whether to export the generator or the discriminator. Should be a string, either \'discriminator\' or '''
		        '''\'generator\'.'''
		    ),
		)
		__UpperCAmelCase    				=							parser.parse_args()
		convert_tf_checkpoint_to_pytorch(
		    args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.discriminator_or_generator
		)



'''simple docstring'''






def 					_snake_case   (     A ,    A       )						->    float:
							return a + b


if __name__ == "__main__":
		__UpperCAmelCase    				=							5
		__UpperCAmelCase    				=							6
		print(f"""The sum of {a} + {b} is {add(a, b)}""")