


'''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    lowerCAmelCase__ (       lowerCamelCase  :    int						,lowerCamelCase  :    List[str]						,lowerCamelCase  :    Optional[int]						,lowerCamelCase  :    Any     ):
       # Initialise PyTorch model
       _A  :			Optional[Any]											=      ElectraConfig.from_json_file(lowerCamelCase     )
       print(F'Building PyTorch model from configuration: {config}'     )

       if discriminator_or_generator == "discriminator":
              _A  :			Tuple											=      ElectraForPreTraining(lowerCamelCase     )
       elif discriminator_or_generator == "generator":
              _A  :			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__":
   A   :  Any       		=				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\'.'''
       ),
   )
   A   :  Union[str, Any]       		=				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'''







from unittest.mock import patch

import datasets
from datasets import Dataset






def    lowerCAmelCase__ (       ):
       _A  :			Optional[int]											=      Dataset.from_dict({'col_1': [3, 2, 0, 1]}     )

       with patch('tqdm.auto.tqdm'     ) as mock_tqdm:
              datasets.disable_progress_bar()
              dset.map(lambda lowerCamelCase     : {"col_2": x["col_1"] + 1}     )
              mock_tqdm.assert_not_called()

              mock_tqdm.reset_mock()

              datasets.enable_progress_bar()
              dset.map(lambda lowerCamelCase     : {"col_2": x["col_1"] + 1}     )
              mock_tqdm.assert_called()






