code: 
  
  
  '''simple docstring'''
  
  import warnings
  
  from ...processing_utils import ProcessorMixin
  from ...tokenization_utils_base import BatchEncoding
  class 						__lowerCAmelCase		(lowercase_  ):
  
  
  
  
  
        '''simple docstring'''
  
  
  
  
  
  
        lowerCAmelCase__      :  List[str]						      =							["""image_processor""", """tokenizer"""]
        lowerCAmelCase__      :  Tuple						      =							"""AutoImageProcessor"""
        lowerCAmelCase__      :  Optional[int]						      =							"""AutoTokenizer"""
  
  
  
        def __init__(self					:					Optional[Any]     ,		UpperCamelCase					:					Dict=None     ,		UpperCamelCase					:					Any=None     ,		**UpperCamelCase					:					Tuple				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               lowercase__       =				None
               if "feature_extractor" in kwargs:
                      warnings.warn(
                          '''The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`'''
                          ''' instead.'''     ,		UpperCamelCase     ,		)
                      lowercase__       =				kwargs.pop('''feature_extractor'''				)
  
               lowercase__       =				image_processor if image_processor is not None else feature_extractor
               if image_processor is None:
                      raise ValueError('''You have to specify an image_processor.'''				)
               if tokenizer is None:
                      raise ValueError('''You have to specify a tokenizer.'''				)
  
               super().__init__(UpperCamelCase     ,		UpperCamelCase				)
               lowercase__       =				self.image_processor
  
  
  
        def __call__(self					:					Dict     ,		UpperCamelCase					:					Tuple=None     ,		UpperCamelCase					:					Optional[Any]=None     ,		UpperCamelCase					:					int=None     ,		**UpperCamelCase					:					Optional[Any]				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               if text is None and images is None:
                      raise ValueError('''You have to specify either text or images. Both cannot be none.'''				)
  
               if text is not None:
                      lowercase__       =				self.tokenizer(UpperCamelCase     ,		return_tensors=UpperCamelCase     ,		**UpperCamelCase				)
  
               if images is not None:
                      lowercase__       =				self.image_processor(UpperCamelCase     ,		return_tensors=UpperCamelCase     ,		**UpperCamelCase				)
  
               if text is not None and images is not None:
                      lowercase__       =				image_features.pixel_values
                      return encoding
               elif text is not None:
                      return encoding
               else:
                      return BatchEncoding(data=dict(**UpperCamelCase				)     ,		tensor_type=UpperCamelCase				)
  
  
  
        def    UpperCamelCase__	(self					:					Optional[Any]     ,		*UpperCamelCase					:					Optional[Any]     ,		**UpperCamelCase					:					Optional[Any]				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               return self.tokenizer.batch_decode(*UpperCamelCase     ,		**UpperCamelCase				)
  
  
  
        def    UpperCamelCase__	(self					:					Union[str, Any]     ,		*UpperCamelCase					:					Optional[Any]     ,		**UpperCamelCase					:					List[str]				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               return self.tokenizer.decode(*UpperCamelCase     ,		**UpperCamelCase				)
  
  
  
        @property
        def    UpperCamelCase__	(self					:					Dict				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               lowercase__       =				self.tokenizer.model_input_names
               lowercase__       =				self.image_processor.model_input_names
               return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names				)				)
  
  
  
        @property
        def    UpperCamelCase__	(self					:					Union[str, Any]				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               warnings.warn(
                   '''`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.'''     ,		UpperCamelCase     ,		)
               return self.image_processor_class
  
  
  
  
  
  
        @property
        def    UpperCamelCase__	(self					:					Optional[int]				):
  
               '''simple docstring'''
  
  
  
  
  
  
  
               warnings.warn(
                   '''`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.'''     ,		UpperCamelCase     ,		)
               return self.image_processor
  
  
  
  
  
style_context: 
  
  
  '''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 _SCREAMING_SNAKE_CASE   (A						,				A						,				A						,				A ) -> Dict:
  
  
  
  
  
  
         """simple docstring"""
  
  
  
  
  
  
  
         lowercase__       =				ElectraConfig.from_json_file(A )
         print(f"Building PyTorch model from configuration: {config}" )
  
         if discriminator_or_generator == "discriminator":
                lowercase__       =				ElectraForPreTraining(A )
         elif discriminator_or_generator == "generator":
                lowercase__       =				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__":
   lowerCamelCase							:     Tuple								=			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\'.'
       ),
   )
   lowerCamelCase							:     Optional[int]								=			parser.parse_args()
   convert_tf_checkpoint_to_pytorch(
       args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.discriminator_or_generator
   )
  
  
  
  
  