
"""simple docstring"""





from typing import TYPE_CHECKING

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


UpperCamelCase_       :    int						      =			{
    '''configuration_longformer''': [
        '''LONGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''LongformerConfig''',
        '''LongformerOnnxConfig''',
    ],
    '''tokenization_longformer''': ['''LongformerTokenizer'''],
}

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

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase_       :    int						      =			[
		    '''LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''LongformerForMaskedLM''',
		    '''LongformerForMultipleChoice''',
		    '''LongformerForQuestionAnswering''',
		    '''LongformerForSequenceClassification''',
		    '''LongformerForTokenClassification''',
		    '''LongformerModel''',
		    '''LongformerPreTrainedModel''',
		    '''LongformerSelfAttention''',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase_       :    Optional[int]						      =			[
		    '''TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''TFLongformerForMaskedLM''',
		    '''TFLongformerForMultipleChoice''',
		    '''TFLongformerForQuestionAnswering''',
		    '''TFLongformerForSequenceClassification''',
		    '''TFLongformerForTokenClassification''',
		    '''TFLongformerModel''',
		    '''TFLongformerPreTrainedModel''',
		    '''TFLongformerSelfAttention''',
		]


if TYPE_CHECKING:
		from .configuration_longformer import (
		    LONGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    LongformerConfig,
		    LongformerOnnxConfig,
		)
		from .tokenization_longformer import LongformerTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_longformer_fast import LongformerTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_longformer import (
				    LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    LongformerForMaskedLM,
				    LongformerForMultipleChoice,
				    LongformerForQuestionAnswering,
				    LongformerForSequenceClassification,
				    LongformerForTokenClassification,
				    LongformerModel,
				    LongformerPreTrainedModel,
				    LongformerSelfAttention,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_longformer import (
				    TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFLongformerForMaskedLM,
				    TFLongformerForMultipleChoice,
				    TFLongformerForQuestionAnswering,
				    TFLongformerForSequenceClassification,
				    TFLongformerForTokenClassification,
				    TFLongformerModel,
				    TFLongformerPreTrainedModel,
				    TFLongformerSelfAttention,
				)

else:
		import sys

		UpperCamelCase_       :    Tuple						      =			_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






"""simple docstring"""





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


UpperCamelCase_       :    Any						      =			logging.get_logger(__name__)

# TODO: upload to AWS
UpperCamelCase_       :    List[str]						      =			{
    '''yjernite/retribert-base-uncased''': (
        '''https://huggingface.co/yjernite/retribert-base-uncased/resolve/main/config.json'''
    ),
}



class __lowerCAmelCase					(       _lowercase   ):




			"""simple docstring"""







			snake_case						   =					"retribert"




			def __init__(					self    :       str							, _snake_case    :       List[str]=30_522							, _snake_case    :       List[Any]=768							, _snake_case    :       List[Any]=8							, _snake_case    :       Union[str, Any]=12							, _snake_case    :       Optional[Any]=3_072							, _snake_case    :       List[Any]="gelu"							, _snake_case    :       Union[str, Any]=0.1							, _snake_case    :       Dict=0.1							, _snake_case    :       str=512							, _snake_case    :       Tuple=2							, _snake_case    :       Dict=0.0_2							, _snake_case    :       Optional[Any]=1e-12							, _snake_case    :       Tuple=True							, _snake_case    :       Union[str, Any]=128							, _snake_case    :       Union[str, Any]=0							, **_snake_case    :       Any							, )   ->			Optional[int]:







								"""simple docstring"""
								super().__init__(pad_token_id=_snake_case							, **_snake_case						)

								A_								=    vocab_size
								A_								=    hidden_size
								A_								=    num_hidden_layers
								A_								=    num_attention_heads
								A_								=    hidden_act
								A_								=    intermediate_size
								A_								=    hidden_dropout_prob
								A_								=    attention_probs_dropout_prob
								A_								=    max_position_embeddings
								A_								=    type_vocab_size
								A_								=    initializer_range
								A_								=    layer_norm_eps
								A_								=    share_encoders
								A_								=    projection_dim




