





from collections import OrderedDict
from typing import TYPE_CHECKING, Any, Mapping, Optional, Union

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


if TYPE_CHECKING:
      from ... import FeatureExtractionMixin, PreTrainedTokenizerBase, TensorType


_lowerCAmelCase 				=     logging.get_logger(__name__)

_lowerCAmelCase 				=     {
    """microsoft/deberta-v2-xlarge""": """https://huggingface.co/microsoft/deberta-v2-xlarge/resolve/main/config.json""",
    """microsoft/deberta-v2-xxlarge""": """https://huggingface.co/microsoft/deberta-v2-xxlarge/resolve/main/config.json""",
    """microsoft/deberta-v2-xlarge-mnli""": (
        """https://huggingface.co/microsoft/deberta-v2-xlarge-mnli/resolve/main/config.json"""
    ),
    """microsoft/deberta-v2-xxlarge-mnli""": (
        """https://huggingface.co/microsoft/deberta-v2-xxlarge-mnli/resolve/main/config.json"""
    ),
}

class    _UpperCAmelCase							(		_lowerCamelCase     ):
      a						       =							'''deberta-v2'''
      def __init__(		self      ,       a__=128100      ,       a__=1536      ,       a__=24      ,       a__=24      ,       a__=6144      ,       a__="gelu"      ,       a__=0.1      ,       a__=0.1      ,       a__=512      ,       a__=0      ,       a__=0.02      ,       a__=1E-7      ,       a__=False      ,       a__=-1      ,       a__=0      ,       a__=True      ,       a__=None      ,       a__=0      ,       a__="gelu"      ,       **a__      ,       )     ->   Tuple:
         super().__init__(**a__       )

         A_     :				Union[str, Any]			      =	hidden_size
         A_     :				List[str]			      =	num_hidden_layers
         A_     :				Optional[int]			      =	num_attention_heads
         A_     :				Tuple			      =	intermediate_size
         A_     :				Union[str, Any]			      =	hidden_act
         A_     :				Union[str, Any]			      =	hidden_dropout_prob
         A_     :				Any			      =	attention_probs_dropout_prob
         A_     :				Any			      =	max_position_embeddings
         A_     :				Union[str, Any]			      =	type_vocab_size
         A_     :				Dict			      =	initializer_range
         A_     :				List[str]			      =	relative_attention
         A_     :				Tuple			      =	max_relative_positions
         A_     :				Union[str, Any]			      =	pad_token_id
         A_     :				Any			      =	position_biased_input

         # Backwards compatibility
         if type(a__       ) == str:
            A_     :				Tuple			      =	[x.strip() for x in pos_att_type.lower().split("""|"""       )]

         A_     :				int			      =	pos_att_type
         A_     :				List[Any]			      =	vocab_size
         A_     :				Union[str, Any]			      =	layer_norm_eps

         A_     :				Optional[int]			      =	kwargs.get("""pooler_hidden_size"""      ,       a__       )
         A_     :				Optional[int]			      =	pooler_dropout
         A_     :				int			      =	pooler_hidden_act






class    _UpperCAmelCase							(		_lowerCamelCase     ):
      @property
      def 		_lowerCamelCase      (		self       )     ->   Any:
         if self.task == "multiple-choice":
            A_     :				List[Any]			      =	{0: """batch""", 1: """choice""", 2: """sequence"""}
         else:
            A_     :				Optional[int]			      =	{0: """batch""", 1: """sequence"""}
         if self._config.type_vocab_size > 0:
            return OrderedDict(
                [("""input_ids""", dynamic_axis), ("""attention_mask""", dynamic_axis), ("""token_type_ids""", dynamic_axis)]       )
         else:
            return OrderedDict([("""input_ids""", dynamic_axis), ("""attention_mask""", dynamic_axis)]       )
      @property
      def 		_lowerCamelCase      (		self       )     ->   Union[str, Any]:
         return 12






      def 		_lowerCamelCase      (		self      ,       a__      ,       a__ = -1      ,       a__ = -1      ,       a__ = -1      ,       a__ = False      ,       a__ = None      ,       a__ = 3      ,       a__ = 40      ,       a__ = 40      ,       a__ = None      ,       )     ->   Tuple:
         A_     :				Tuple			      =	super().generate_dummy_inputs(preprocessor=a__      ,       framework=a__       )
         if self._config.type_vocab_size == 0 and "token_type_ids" in dummy_inputs:
            del dummy_inputs["token_type_ids"]
         return dummy_inputs













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


_lowerCAmelCase 				=     logging.get_logger(__name__)

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

class    _UpperCAmelCase							(		_lowerCamelCase     ):
      a						       =							'''retribert'''
      def __init__(		self      ,       a__=30522      ,       a__=768      ,       a__=8      ,       a__=12      ,       a__=3072      ,       a__="gelu"      ,       a__=0.1      ,       a__=0.1      ,       a__=512      ,       a__=2      ,       a__=0.02      ,       a__=1E-12      ,       a__=True      ,       a__=128      ,       a__=0      ,       **a__      ,       ):
         super().__init__(pad_token_id=a__      ,       **a__       )

         A_     :				Union[str, Any]			      =	vocab_size
         A_     :				Optional[Any]			      =	hidden_size
         A_     :				Optional[Any]			      =	num_hidden_layers
         A_     :				List[str]			      =	num_attention_heads
         A_     :				Optional[int]			      =	hidden_act
         A_     :				Any			      =	intermediate_size
         A_     :				Tuple			      =	hidden_dropout_prob
         A_     :				Optional[Any]			      =	attention_probs_dropout_prob
         A_     :				Dict			      =	max_position_embeddings
         A_     :				Dict			      =	type_vocab_size
         A_     :				List[str]			      =	initializer_range
         A_     :				Optional[int]			      =	layer_norm_eps
         A_     :				Optional[Any]			      =	share_encoders
         A_     :				Dict			      =	projection_dim






