






snake_case__   :						Union[str, Any]													=   """Input must be a string of 8 numbers plus letter"""
snake_case__   :						Optional[int]													=   """TRWAGMYFPDXBNJZSQVHLCKE"""






def      _snake_case     (__lowercase):

   if not isinstance(__lowercase     ,   __lowercase):
      UpperCamelCase_						=  f"""Expected string as input, found {type(__lowercase).__name__}"""
      raise TypeError(__lowercase)

   UpperCamelCase_						=  spanish_id.replace('-'     ,   '').upper()
   if len(__lowercase) != 9:
      raise ValueError(__lowercase)

   try:
      UpperCamelCase_						=  int(spanish_id_clean[0:8])
      UpperCamelCase_						=  spanish_id_clean[8]
   except ValueError as ex:
      raise ValueError(__lowercase) from ex

   if letter.isdigit():
      raise ValueError(__lowercase)

   return letter == LOOKUP_LETTERS[number % 23]


if __name__ == "__main__":
 import doctest

 doctest.testmod()













import argparse

import torch

from ...utils import logging
from . import AlbertConfig, AlbertForPreTraining, load_tf_weights_in_albert


logging.set_verbosity_info()






def      _snake_case     (__lowercase     ,   __lowercase     ,   __lowercase):
   # Initialise PyTorch model
   UpperCamelCase_						=  AlbertConfig.from_json_file(__lowercase)
   print(f"""Building PyTorch model from configuration: {config}""")
   UpperCamelCase_						=  AlbertForPreTraining(__lowercase)

   # Load weights from tf checkpoint
   load_tf_weights_in_albert(__lowercase     ,   __lowercase     ,   __lowercase)

   # Save pytorch-model
   print(f"""Save PyTorch model to {pytorch_dump_path}""")
   torch.save(model.state_dict()     ,   __lowercase)


if __name__ == "__main__":
 snake_case__   :						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(
     """--albert_config_file""",
     default=None,
     type=str,
     required=True,
     help=(
         """The config json file corresponding to the pre-trained ALBERT model. \n"""
         """This specifies the model architecture."""
     ),
 )
 parser.add_argument(
     """--pytorch_dump_path""", default=None, type=str, required=True, help="""Path to the output PyTorch model."""
 )
 snake_case__   :						str													=   parser.parse_args()
 convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.albert_config_file, args.pytorch_dump_path)





