






"""simple docstring"""

from collections import OrderedDict
from typing import Mapping

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


lowercase__      =				logging.get_logger(__name__)

lowercase__      =				{
    """google/electra-small-generator""": """https://huggingface.co/google/electra-small-generator/resolve/main/config.json""",
    """google/electra-base-generator""": """https://huggingface.co/google/electra-base-generator/resolve/main/config.json""",
    """google/electra-large-generator""": """https://huggingface.co/google/electra-large-generator/resolve/main/config.json""",
    """google/electra-small-discriminator""": (
        """https://huggingface.co/google/electra-small-discriminator/resolve/main/config.json"""
    ),
    """google/electra-base-discriminator""": (
        """https://huggingface.co/google/electra-base-discriminator/resolve/main/config.json"""
    ),
    """google/electra-large-discriminator""": (
        """https://huggingface.co/google/electra-large-discriminator/resolve/main/config.json"""
    ),
}


class 	__lowerCamelCase       (				A__    ):





		'''simple docstring'''






		a_			:       List[Any]      =							"""electra"""





		def __init__(     self							:			Tuple		,    a_							:			int=3_05_22		,    a_							:			Tuple=1_28		,    a_							:			str=2_56		,    a_							:			int=12		,    a_							:			str=4		,    a_							:			Optional[Any]=10_24		,    a_							:			Any="gelu"		,    a_							:			Any=0.1		,    a_							:			Optional[Any]=0.1		,    a_							:			Optional[int]=5_12		,    a_							:			List[Any]=2		,    a_							:			List[str]=0.02		,    a_							:			int=1e-1_2		,    a_							:			Any="first"		,    a_							:			List[str]=True		,    a_							:			int="gelu"		,    a_							:			Dict=0.1		,    a_							:			int=0		,    a_							:			Dict="absolute"		,    a_							:			List[str]=True		,    a_							:			Tuple=None		,    **a_							:			List[str]		,    ):
				super().__init__(pad_token_id=a_		,    **a_			)

				lowerCAmelCase_     :							Optional[int]             =    vocab_size
				lowerCAmelCase_     :							int             =    embedding_size
				lowerCAmelCase_     :							Dict             =    hidden_size
				lowerCAmelCase_     :							str             =    num_hidden_layers
				lowerCAmelCase_     :							Optional[Any]             =    num_attention_heads
				lowerCAmelCase_     :							List[Any]             =    intermediate_size
				lowerCAmelCase_     :							Optional[Any]             =    hidden_act
				lowerCAmelCase_     :							List[str]             =    hidden_dropout_prob
				lowerCAmelCase_     :							Optional[int]             =    attention_probs_dropout_prob
				lowerCAmelCase_     :							Optional[int]             =    max_position_embeddings
				lowerCAmelCase_     :							int             =    type_vocab_size
				lowerCAmelCase_     :							List[str]             =    initializer_range
				lowerCAmelCase_     :							str             =    layer_norm_eps

				lowerCAmelCase_     :							List[Any]             =    summary_type
				lowerCAmelCase_     :							Union[str, Any]             =    summary_use_proj
				lowerCAmelCase_     :							Any             =    summary_activation
				lowerCAmelCase_     :							List[Any]             =    summary_last_dropout
				lowerCAmelCase_     :							Optional[Any]             =    position_embedding_type
				lowerCAmelCase_     :							Optional[Any]             =    use_cache
				lowerCAmelCase_     :							Optional[Any]             =    classifier_dropout







class 	__lowerCamelCase       (				A__    ):





		'''simple docstring'''






		@property
		def      lowerCamelCase (     self							:			int			):
				if self.task == "multiple-choice":
						lowerCAmelCase_     :							Optional[Any]             =    {0: "batch", 1: "choice", 2: "sequence"}
				else:
						lowerCAmelCase_     :							Dict             =    {0: "batch", 1: "sequence"}
				return OrderedDict(
				    [
				        ("input_ids", dynamic_axis),
				        ("attention_mask", dynamic_axis),
				        ("token_type_ids", dynamic_axis),
				    ]			)








"""simple docstring"""

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
    is_vision_available,
)


lowercase__      =				{
    """configuration_mobilevitv2""": [
        """MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """MobileViTV2Config""",
        """MobileViTV2OnnxConfig""",
    ],
}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowercase__      =				[
					    """MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """MobileViTV2ForImageClassification""",
					    """MobileViTV2ForSemanticSegmentation""",
					    """MobileViTV2Model""",
					    """MobileViTV2PreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_mobilevitva import (
					    MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    MobileViTVaConfig,
					    MobileViTVaOnnxConfig,
					)

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_mobilevitva import (
										    MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    MobileViTVaForImageClassification,
										    MobileViTVaForSemanticSegmentation,
										    MobileViTVaModel,
										    MobileViTVaPreTrainedModel,
										)

else:
					import sys

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