



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_  (    _a       :						str   ,		_a       :						List[str]   ,		_a       :						str   ,		_a       :						Any    ):



    '''simple docstring'''




    UpperCAmelCase_     :       Union[str, Any]  		=					ElectraConfig.from_json_file(_a    )
    print(F'''Building PyTorch model from configuration: {config}'''    )

    if discriminator_or_generator == "discriminator":
        UpperCAmelCase_     :       Union[str, Any]  		=					ElectraForPreTraining(_a    )
    elif discriminator_or_generator == "generator":
        UpperCAmelCase_     :       Union[str, Any]  		=					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
      )





import math







def       lowerCamelCase_  (    _a       :						int    ):



    '''simple docstring'''




    if 1 < number < 4:
        # 2 and 3 are primes
        return True
    elif number < 2 or number % 2 == 0 or number % 3 == 0:
        # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
        return False

    # All primes number are in format of 6k +/- 1
    for i in range(5   ,		int(math.sqrt(_a    ) + 1    )   ,		6    ):
        if number % i == 0 or number % (i + 2) == 0:
            return False
    return True







def       lowerCamelCase_  (    _a       :						int = 6008_5147_5143    ):



    '''simple docstring'''




    try:
        UpperCAmelCase_     :       str  		=					int(_a    )
    except (TypeError, ValueError):
        raise TypeError("""Parameter n must be int or castable to int."""    )
    if n <= 0:
        raise ValueError("""Parameter n must be greater than or equal to one."""    )
    UpperCAmelCase_     :       Optional[int]  		=					0
    if is_prime(_a    ):
        return n
    while n % 2 == 0:
        n //= 2
    if is_prime(_a    ):
        return n
    for i in range(3   ,		int(math.sqrt(_a    )    ) + 1   ,		2    ):
        if n % i == 0:
            if is_prime(n // i    ):
                UpperCAmelCase_     :       Optional[int]  		=					n // i
                break
            elif is_prime(_a    ):
                UpperCAmelCase_     :       str  		=					i
    return max_number


if __name__ == "__main__":
      print(F"{solution() = }")
