



from collections import OrderedDict
from typing import Mapping

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


UpperCAmelCase__       =	logging.get_logger(__name__)

UpperCAmelCase__       =	{
    "kssteven/ibert-roberta-base": "https://huggingface.co/kssteven/ibert-roberta-base/resolve/main/config.json",
    "kssteven/ibert-roberta-large": "https://huggingface.co/kssteven/ibert-roberta-large/resolve/main/config.json",
    "kssteven/ibert-roberta-large-mnli": (
        "https://huggingface.co/kssteven/ibert-roberta-large-mnli/resolve/main/config.json"
    ),
}







class       __lowerCAmelCase   (      A						):
			UpperCamelCase        =					'''ibert'''



			def __init__(						self       :  int			,		A       :  int=3_05_22			,		A       :  Optional[Any]=7_68			,		A       :  Union[str, Any]=12			,		A       :  int=12			,		A       :  Optional[Any]=30_72			,		A       :  Union[str, Any]="gelu"			,		A       :  Dict=0.1			,		A       :  str=0.1			,		A       :  Tuple=5_12			,		A       :  str=2			,		A       :  Optional[int]=0.0_2			,		A       :  Optional[Any]=1E-12			,		A       :  Tuple=1			,		A       :  Union[str, Any]=0			,		A       :  List[str]=2			,		A       :  Dict="absolute"			,		A       :  Optional[int]=False			,		A       :  Any="none"			,		**A       :  Dict			,		)       ->   int:



						"""simple docstring"""






						super().__init__(pad_token_id=A			,		bos_token_id=A			,		eos_token_id=A			,		**A)

						_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			=       quant_mode
						_UpperCAmelCase			=       force_dequant







class       __lowerCAmelCase   (      A						):



			@property
			def    _lowerCamelCase	(						self       :  Optional[Any])       ->   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),
						    ])




from typing import TYPE_CHECKING

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


UpperCAmelCase__       =	{
    "configuration_lxmert": ["LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "LxmertConfig"],
    "tokenization_lxmert": ["LxmertTokenizer"],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCAmelCase__       =	["LxmertTokenizerFast"]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCAmelCase__       =	[
							    "LxmertEncoder",
							    "LxmertForPreTraining",
							    "LxmertForQuestionAnswering",
							    "LxmertModel",
							    "LxmertPreTrainedModel",
							    "LxmertVisualFeatureEncoder",
							    "LxmertXLayer",
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCAmelCase__       =	[
							    "TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST",
							    "TFLxmertForPreTraining",
							    "TFLxmertMainLayer",
							    "TFLxmertModel",
							    "TFLxmertPreTrainedModel",
							    "TFLxmertVisualFeatureEncoder",
							]


if TYPE_CHECKING:
							from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
							from .tokenization_lxmert import LxmertTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_lxmert_fast import LxmertTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_lxmert import (
														    LxmertEncoder,
														    LxmertForPreTraining,
														    LxmertForQuestionAnswering,
														    LxmertModel,
														    LxmertPreTrainedModel,
														    LxmertVisualFeatureEncoder,
														    LxmertXLayer,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_lxmert import (
														    TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFLxmertForPreTraining,
														    TFLxmertMainLayer,
														    TFLxmertModel,
														    TFLxmertPreTrainedModel,
														    TFLxmertVisualFeatureEncoder,
														)

else:
							import sys

							UpperCAmelCase__       =	_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
