
"""simple docstring"""



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


a       :						str       		=		{'''configuration_fnet''': ['''FNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''FNetConfig''']}

try:
 if not is_sentencepiece_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a       :						List[str]       		=		['''FNetTokenizer''']

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a       :						List[str]       		=		['''FNetTokenizerFast''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a       :						Union[str, Any]       		=		[
     '''FNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''FNetForMaskedLM''',
     '''FNetForMultipleChoice''',
     '''FNetForNextSentencePrediction''',
     '''FNetForPreTraining''',
     '''FNetForQuestionAnswering''',
     '''FNetForSequenceClassification''',
     '''FNetForTokenClassification''',
     '''FNetLayer''',
     '''FNetModel''',
     '''FNetPreTrainedModel''',
 ]


if TYPE_CHECKING:
 from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

 try:
  if not is_sentencepiece_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_fnet import FNetTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_fnet_fast import FNetTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_fnet import (
      FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      FNetForMaskedLM,
      FNetForMultipleChoice,
      FNetForNextSentencePrediction,
      FNetForPreTraining,
      FNetForQuestionAnswering,
      FNetForSequenceClassification,
      FNetForTokenClassification,
      FNetLayer,
      FNetModel,
      FNetPreTrainedModel,
  )


else:
 import sys

 a       :						Union[str, Any]       		=		_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

"""simple docstring"""



from ....configuration_utils import PretrainedConfig
from ....utils import logging


a       :						Dict       		=		logging.get_logger(__name__)

# TODO: upload to AWS
a       :						Tuple       		=		{
    '''yjernite/retribert-base-uncased''': (
        '''https://huggingface.co/yjernite/retribert-base-uncased/resolve/main/config.json'''
    ),
}




class 		a_    (			_UpperCAmelCase						):
    a   :					int			     =					'retribert'







    def __init__(      self      :							Optional[Any]  ,       __UpperCamelCase      :							Optional[Any]=3_05_22  ,       __UpperCamelCase      :							int=7_68  ,       __UpperCamelCase      :							Any=8  ,       __UpperCamelCase      :							Dict=12  ,       __UpperCamelCase      :							List[Any]=30_72  ,       __UpperCamelCase      :							List[Any]="gelu"  ,       __UpperCamelCase      :							Optional[int]=0.1  ,       __UpperCamelCase      :							int=0.1  ,       __UpperCamelCase      :							Union[str, Any]=5_12  ,       __UpperCamelCase      :							Dict=2  ,       __UpperCamelCase      :							Tuple=0.0_2  ,       __UpperCamelCase      :							List[str]=1e-12  ,       __UpperCamelCase      :							int=True  ,       __UpperCamelCase      :							str=1_28  ,       __UpperCamelCase      :							Union[str, Any]=0  ,       **__UpperCamelCase      :							Any  ,       )		->List[Any]:






        '''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        = share_encoders
        _UpperCAmelCase        = projection_dim