code: 
  
  
  
  
  
  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 		_SCREAMING_SNAKE_CASE    (   lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__	):
  		# Initialise PyTorch model
  		lowerCamelCase_  :    Any   	=			ElectraConfig.from_json_file(lowerCAmelCase__	)
  		print(F"Building PyTorch model from configuration: {config}"	)
  
  		if discriminator_or_generator == "discriminator":
  				lowerCamelCase_  :    Dict   	=			ElectraForPreTraining(lowerCAmelCase__	)
  		elif discriminator_or_generator == "generator":
  				lowerCamelCase_  :    List[Any]   	=			ElectraForMaskedLM(lowerCAmelCase__	)
  		else:
  				raise ValueError('The discriminator_or_generator argument should be either \'discriminator\' or \'generator\''	)
  
  		# Load weights from tf checkpoint
  		load_tf_weights_in_electra(
  		    lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,discriminator_or_generator=lowerCAmelCase__	)
  
  		# Save pytorch-model
  		print(F"Save PyTorch model to {pytorch_dump_path}"	)
  		torch.save(model.state_dict()       ,lowerCAmelCase__	)
  
  
  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(
  		    """--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'."""
  		    ),
  		)
  		_lowercase		:     Optional[Any]     					=parser.parse_args()
  		convert_tf_checkpoint_to_pytorch(
  		    args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.discriminator_or_generator
  		)
  
style_context: 
  
  
  
  
  
  def 		_SCREAMING_SNAKE_CASE    (   lowerCAmelCase__       ,lowerCAmelCase__	):
  		return (input_a, input_a).count(0	) % 2
  
  
  def 		_SCREAMING_SNAKE_CASE    (   ):
  		assert xor_gate(0       ,0	) == 0
  		assert xor_gate(0       ,1	) == 1
  		assert xor_gate(1       ,0	) == 1
  		assert xor_gate(1       ,1	) == 0
  
  
  if __name__ == "__main__":
  		print(xor_gate(0, 0))
  		print(xor_gate(0, 1))
  