





'''simple docstring'''


from collections import OrderedDict
from typing import Mapping

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


_SCREAMING_SNAKE_CASE									=				logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE									=				{
    "distilbert-base-uncased": "https://huggingface.co/distilbert-base-uncased/resolve/main/config.json",
    "distilbert-base-uncased-distilled-squad": (
        "https://huggingface.co/distilbert-base-uncased-distilled-squad/resolve/main/config.json"
    ),
    "distilbert-base-cased": "https://huggingface.co/distilbert-base-cased/resolve/main/config.json",
    "distilbert-base-cased-distilled-squad": (
        "https://huggingface.co/distilbert-base-cased-distilled-squad/resolve/main/config.json"
    ),
    "distilbert-base-german-cased": "https://huggingface.co/distilbert-base-german-cased/resolve/main/config.json",
    "distilbert-base-multilingual-cased": (
        "https://huggingface.co/distilbert-base-multilingual-cased/resolve/main/config.json"
    ),
    "distilbert-base-uncased-finetuned-sst-2-english": (
        "https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english/resolve/main/config.json"
    ),
}

class  lowerCAmelCase_		(		__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       "distilbert"
 __lowerCamelCase    :				Tuple								=       {
     "hidden_size": "dim",
     "num_attention_heads": "n_heads",
     "num_hidden_layers": "n_layers",
 }




 def __init__(						self      ,  _lowerCAmelCase=30522      ,  _lowerCAmelCase=512      ,  _lowerCAmelCase=False      ,  _lowerCAmelCase=6      ,  _lowerCAmelCase=12      ,  _lowerCAmelCase=768      ,  _lowerCAmelCase=4 * 768      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase="gelu"      ,  _lowerCAmelCase=0.02      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase=0.2      ,  _lowerCAmelCase=0      ,  **_lowerCAmelCase      ,  )     ->				int:
     _lowerCAmelCase						      =   vocab_size
     _lowerCAmelCase						      =   max_position_embeddings
     _lowerCAmelCase						      =   sinusoidal_pos_embds
     _lowerCAmelCase						      =   n_layers
     _lowerCAmelCase						      =   n_heads
     _lowerCAmelCase						      =   dim
     _lowerCAmelCase						      =   hidden_dim
     _lowerCAmelCase						      =   dropout
     _lowerCAmelCase						      =   attention_dropout
     _lowerCAmelCase						      =   activation
     _lowerCAmelCase						      =   initializer_range
     _lowerCAmelCase						      =   qa_dropout
     _lowerCAmelCase						      =   seq_classif_dropout
     super().__init__(**_lowerCAmelCase      ,  pad_token_id=_lowerCAmelCase		)







class  lowerCAmelCase_		(		__magic_name__		):




 @property
 def 				_snake_case (						self		)     ->				Mapping[str, Mapping[int, str]]:
     if self.task == "multiple-choice":
         _lowerCAmelCase						      =   {0: "batch", 1: "choice", 2: "sequence"}
     else:
         _lowerCAmelCase						      =   {0: "batch", 1: "sequence"}
     return OrderedDict(
         [
             ("input_ids", dynamic_axis),
             ("attention_mask", dynamic_axis),
         ]		)






from __future__ import annotations





def 						_lowerCAmelCase							(     _lowerCAmelCase			)    ->						list[int]:


						'''simple docstring'''






						__snake_case				=		2
						__snake_case				=		[]
						while i * i <= n:
												if n % i:
																		i += 1
												else:
																		n //= i
																		factors.append(_lowerCAmelCase			)
						if n > 1:
												factors.append(_lowerCAmelCase			)
						return factors


if __name__ == "__main__":
	import doctest

	doctest.testmod()





