code: 
  
  
  
  
  
  '''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 		UpperCamelCase       (							_lowerCamelCase      :      List[str]		, _lowerCamelCase      :      int		, _lowerCamelCase      :      Any		, _lowerCamelCase      :      str ):
      # Initialise PyTorch model
      A__       =    ElectraConfig.from_json_file(_lowerCamelCase )
      print(F"Building PyTorch model from configuration: {config}" )
  
      if discriminator_or_generator == "discriminator":
          A__       =    ElectraForPreTraining(_lowerCamelCase )
      elif discriminator_or_generator == "generator":
          A__       =    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__":
    __lowerCAmelCase							:			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'."
        ),
    )
    __lowerCAmelCase							:			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: 
  
  
  
  
  
  '''simple docstring'''
  
  from typing import TYPE_CHECKING
  
  from ...utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_tf_available,
      is_tokenizers_available,
      is_torch_available,
  )
  
  
  __lowerCAmelCase							:			int				={
      "configuration_layoutlm": ["LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP", "LayoutLMConfig", "LayoutLMOnnxConfig"],
      "tokenization_layoutlm": ["LayoutLMTokenizer"],
  }
  
  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    __lowerCAmelCase							:			Any				=["LayoutLMTokenizerFast"]
  
  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    __lowerCAmelCase							:			Dict				=[
        "LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST",
        "LayoutLMForMaskedLM",
        "LayoutLMForSequenceClassification",
        "LayoutLMForTokenClassification",
        "LayoutLMForQuestionAnswering",
        "LayoutLMModel",
        "LayoutLMPreTrainedModel",
    ]
  
  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    __lowerCAmelCase							:			str				=[
        "TF_LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST",
        "TFLayoutLMForMaskedLM",
        "TFLayoutLMForSequenceClassification",
        "TFLayoutLMForTokenClassification",
        "TFLayoutLMForQuestionAnswering",
        "TFLayoutLMMainLayer",
        "TFLayoutLMModel",
        "TFLayoutLMPreTrainedModel",
    ]
  
  
  if TYPE_CHECKING:
    from .configuration_layoutlm import LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP, LayoutLMConfig, LayoutLMOnnxConfig
    from .tokenization_layoutlm import LayoutLMTokenizer
  
    try:
      if not is_tokenizers_available():
        raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
      pass
    else:
      from .tokenization_layoutlm_fast import LayoutLMTokenizerFast
  
    try:
      if not is_torch_available():
        raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
      pass
    else:
      from .modeling_layoutlm import (
          LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
          LayoutLMForMaskedLM,
          LayoutLMForQuestionAnswering,
          LayoutLMForSequenceClassification,
          LayoutLMForTokenClassification,
          LayoutLMModel,
          LayoutLMPreTrainedModel,
      )
    try:
      if not is_tf_available():
        raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
      pass
    else:
      from .modeling_tf_layoutlm import (
          TF_LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFLayoutLMForMaskedLM,
          TFLayoutLMForQuestionAnswering,
          TFLayoutLMForSequenceClassification,
          TFLayoutLMForTokenClassification,
          TFLayoutLMMainLayer,
          TFLayoutLMModel,
          TFLayoutLMPreTrainedModel,
      )
  
  else:
    import sys
  
    __lowerCAmelCase							:			int				=_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
  
  
  
  