



"""simple docstring"""





from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


lowerCamelCase  			=		logging.get_logger(__name__)

lowerCamelCase  			=		{
    """bert-base-uncased""": """https://huggingface.co/bert-base-uncased/resolve/main/config.json""",
    """bert-large-uncased""": """https://huggingface.co/bert-large-uncased/resolve/main/config.json""",
    """bert-base-cased""": """https://huggingface.co/bert-base-cased/resolve/main/config.json""",
    """bert-large-cased""": """https://huggingface.co/bert-large-cased/resolve/main/config.json""",
    """bert-base-multilingual-uncased""": """https://huggingface.co/bert-base-multilingual-uncased/resolve/main/config.json""",
    """bert-base-multilingual-cased""": """https://huggingface.co/bert-base-multilingual-cased/resolve/main/config.json""",
    """bert-base-chinese""": """https://huggingface.co/bert-base-chinese/resolve/main/config.json""",
    """bert-base-german-cased""": """https://huggingface.co/bert-base-german-cased/resolve/main/config.json""",
    """bert-large-uncased-whole-word-masking""": (
        """https://huggingface.co/bert-large-uncased-whole-word-masking/resolve/main/config.json"""
    ),
    """bert-large-cased-whole-word-masking""": (
        """https://huggingface.co/bert-large-cased-whole-word-masking/resolve/main/config.json"""
    ),
    """bert-large-uncased-whole-word-masking-finetuned-squad""": (
        """https://huggingface.co/bert-large-uncased-whole-word-masking-finetuned-squad/resolve/main/config.json"""
    ),
    """bert-large-cased-whole-word-masking-finetuned-squad""": (
        """https://huggingface.co/bert-large-cased-whole-word-masking-finetuned-squad/resolve/main/config.json"""
    ),
    """bert-base-cased-finetuned-mrpc""": """https://huggingface.co/bert-base-cased-finetuned-mrpc/resolve/main/config.json""",
    """bert-base-german-dbmdz-cased""": """https://huggingface.co/bert-base-german-dbmdz-cased/resolve/main/config.json""",
    """bert-base-german-dbmdz-uncased""": """https://huggingface.co/bert-base-german-dbmdz-uncased/resolve/main/config.json""",
    """cl-tohoku/bert-base-japanese""": """https://huggingface.co/cl-tohoku/bert-base-japanese/resolve/main/config.json""",
    """cl-tohoku/bert-base-japanese-whole-word-masking""": (
        """https://huggingface.co/cl-tohoku/bert-base-japanese-whole-word-masking/resolve/main/config.json"""
    ),
    """cl-tohoku/bert-base-japanese-char""": (
        """https://huggingface.co/cl-tohoku/bert-base-japanese-char/resolve/main/config.json"""
    ),
    """cl-tohoku/bert-base-japanese-char-whole-word-masking""": (
        """https://huggingface.co/cl-tohoku/bert-base-japanese-char-whole-word-masking/resolve/main/config.json"""
    ),
    """TurkuNLP/bert-base-finnish-cased-v1""": (
        """https://huggingface.co/TurkuNLP/bert-base-finnish-cased-v1/resolve/main/config.json"""
    ),
    """TurkuNLP/bert-base-finnish-uncased-v1""": (
        """https://huggingface.co/TurkuNLP/bert-base-finnish-uncased-v1/resolve/main/config.json"""
    ),
    """wietsedv/bert-base-dutch-cased""": """https://huggingface.co/wietsedv/bert-base-dutch-cased/resolve/main/config.json""",
    # See all BERT models at https://huggingface.co/models?filter=bert
}
class  lowercase__  (       SCREAMING_SNAKE_CASE ):







       '''simple docstring'''


       UpperCamelCase		=	'''bert'''



       def __init__(				self     :    Optional[Any]						,							_UpperCAmelCase     :    Optional[int]=30522						,							_UpperCAmelCase     :    Tuple=768						,							_UpperCAmelCase     :    Union[str, Any]=12						,							_UpperCAmelCase     :    int=12						,							_UpperCAmelCase     :    Optional[Any]=3072						,							_UpperCAmelCase     :    Union[str, Any]="gelu"						,							_UpperCAmelCase     :    str=0.1						,							_UpperCAmelCase     :    List[str]=0.1						,							_UpperCAmelCase     :    int=512						,							_UpperCAmelCase     :    Optional[Any]=2						,							_UpperCAmelCase     :    Optional[Any]=0.02						,							_UpperCAmelCase     :    int=1e-12						,							_UpperCAmelCase     :    Union[str, Any]=0						,							_UpperCAmelCase     :    List[str]="absolute"						,							_UpperCAmelCase     :    List[str]=True						,							_UpperCAmelCase     :    Dict=None						,							**_UpperCAmelCase     :    str						,							)					->		int:


             '''simple docstring'''




             super().__init__(pad_token_id=_UpperCAmelCase						,							**_UpperCAmelCase       )

             UpperCAmelCase_     					=				vocab_size
             UpperCAmelCase_     					=				hidden_size
             UpperCAmelCase_     					=				num_hidden_layers
             UpperCAmelCase_     					=				num_attention_heads
             UpperCAmelCase_     					=				hidden_act
             UpperCAmelCase_     					=				intermediate_size
             UpperCAmelCase_     					=				hidden_dropout_prob
             UpperCAmelCase_     					=				attention_probs_dropout_prob
             UpperCAmelCase_     					=				max_position_embeddings
             UpperCAmelCase_     					=				type_vocab_size
             UpperCAmelCase_     					=				initializer_range
             UpperCAmelCase_     					=				layer_norm_eps
             UpperCAmelCase_     					=				position_embedding_type
             UpperCAmelCase_     					=				use_cache
             UpperCAmelCase_     					=				classifier_dropout



class  lowercase__  (       SCREAMING_SNAKE_CASE ):







       '''simple docstring'''


       @property
       def 	lowercase__							(				self     :    Tuple       )					->		Mapping[str, Mapping[int, str]]:


             '''simple docstring'''




             if self.task == "multiple-choice":
                   UpperCAmelCase_     					=				{0: "batch", 1: "choice", 2: "sequence"}
             else:
                   UpperCAmelCase_     					=				{0: "batch", 1: "sequence"}
             return OrderedDict(
                 [
                     ("input_ids", dynamic_axis),
                     ("attention_mask", dynamic_axis),
                     ("token_type_ids", dynamic_axis),
                 ]       )








'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


lowerCAmelCase     :  Any											=    {
    """configuration_canine""": ["""CANINE_PRETRAINED_CONFIG_ARCHIVE_MAP""", """CanineConfig"""],
    """tokenization_canine""": ["""CanineTokenizer"""],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase     :  Tuple											=    [
           """CANINE_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """CanineForMultipleChoice""",
           """CanineForQuestionAnswering""",
           """CanineForSequenceClassification""",
           """CanineForTokenClassification""",
           """CanineLayer""",
           """CanineModel""",
           """CaninePreTrainedModel""",
           """load_tf_weights_in_canine""",
       ]


if TYPE_CHECKING:
       from .configuration_canine import CANINE_PRETRAINED_CONFIG_ARCHIVE_MAP, CanineConfig
       from .tokenization_canine import CanineTokenizer

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_canine import (
                  CANINE_PRETRAINED_MODEL_ARCHIVE_LIST,
                  CanineForMultipleChoice,
                  CanineForQuestionAnswering,
                  CanineForSequenceClassification,
                  CanineForTokenClassification,
                  CanineLayer,
                  CanineModel,
                  CaninePreTrainedModel,
                  load_tf_weights_in_canine,
              )


else:
       import sys

       lowerCAmelCase     :  Optional[Any]											=    _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)

