





from typing import TYPE_CHECKING

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


__lowercase  :   int						      ={
    """configuration_mobilebert""": [
        """MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """MobileBertConfig""",
        """MobileBertOnnxConfig""",
    ],
    """tokenization_mobilebert""": ["""MobileBertTokenizer"""],
}

try:
     if not is_tokenizers_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __lowercase  :   Tuple						      =["""MobileBertTokenizerFast"""]

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __lowercase  :   Dict						      =[
         """MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """MobileBertForMaskedLM""",
         """MobileBertForMultipleChoice""",
         """MobileBertForNextSentencePrediction""",
         """MobileBertForPreTraining""",
         """MobileBertForQuestionAnswering""",
         """MobileBertForSequenceClassification""",
         """MobileBertForTokenClassification""",
         """MobileBertLayer""",
         """MobileBertModel""",
         """MobileBertPreTrainedModel""",
         """load_tf_weights_in_mobilebert""",
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __lowercase  :   str						      =[
         """TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """TFMobileBertForMaskedLM""",
         """TFMobileBertForMultipleChoice""",
         """TFMobileBertForNextSentencePrediction""",
         """TFMobileBertForPreTraining""",
         """TFMobileBertForQuestionAnswering""",
         """TFMobileBertForSequenceClassification""",
         """TFMobileBertForTokenClassification""",
         """TFMobileBertMainLayer""",
         """TFMobileBertModel""",
         """TFMobileBertPreTrainedModel""",
     ]


if TYPE_CHECKING:
     from .configuration_mobilebert import (
         MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
         MobileBertConfig,
         MobileBertOnnxConfig,
     )
     from .tokenization_mobilebert import MobileBertTokenizer

     try:
          if not is_tokenizers_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_mobilebert_fast import MobileBertTokenizerFast

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_mobilebert import (
              MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              MobileBertForMaskedLM,
              MobileBertForMultipleChoice,
              MobileBertForNextSentencePrediction,
              MobileBertForPreTraining,
              MobileBertForQuestionAnswering,
              MobileBertForSequenceClassification,
              MobileBertForTokenClassification,
              MobileBertLayer,
              MobileBertModel,
              MobileBertPreTrainedModel,
              load_tf_weights_in_mobilebert,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_mobilebert import (
              TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFMobileBertForMaskedLM,
              TFMobileBertForMultipleChoice,
              TFMobileBertForNextSentencePrediction,
              TFMobileBertForPreTraining,
              TFMobileBertForQuestionAnswering,
              TFMobileBertForSequenceClassification,
              TFMobileBertForTokenClassification,
              TFMobileBertMainLayer,
              TFMobileBertModel,
              TFMobileBertPreTrainedModel,
          )

else:
     import sys

     __lowercase  :   str						      =_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)











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


__lowercase  :   Optional[int]						      =logging.get_logger(__name__)

__lowercase  :   Union[str, Any]						      ={
    """Visual-Attention-Network/van-base""": (
        """https://huggingface.co/Visual-Attention-Network/van-base/blob/main/config.json"""
    ),
}

class      A       (	__lowercase						):
      _snake_case							     ='''van'''



      def __init__(	self:						str		,  _lowerCAmelCase:						List[Any]=224		,  _lowerCAmelCase:						Any=3		,  _lowerCAmelCase:						Tuple=[7, 3, 3, 3]		,  _lowerCAmelCase:						Union[str, Any]=[4, 2, 2, 2]		,  _lowerCAmelCase:						List[str]=[64, 128, 320, 512]		,  _lowerCAmelCase:						Tuple=[3, 3, 12, 3]		,  _lowerCAmelCase:						Union[str, Any]=[8, 8, 4, 4]		,  _lowerCAmelCase:						Any="gelu"		,  _lowerCAmelCase:						Optional[int]=0.02		,  _lowerCAmelCase:						List[str]=1e-6		,  _lowerCAmelCase:						Any=1e-2		,  _lowerCAmelCase:						Any=0.0		,  _lowerCAmelCase:						Optional[Any]=0.0		,  **_lowerCAmelCase:						List[str]		,  )						->    Dict:
         '''simple docstring'''

         super().__init__(**_lowerCAmelCase       )
         UpperCAmelCase_											=image_size
         UpperCAmelCase_											=num_channels
         UpperCAmelCase_											=patch_sizes
         UpperCAmelCase_											=strides
         UpperCAmelCase_											=hidden_sizes
         UpperCAmelCase_											=depths
         UpperCAmelCase_											=mlp_ratios
         UpperCAmelCase_											=hidden_act
         UpperCAmelCase_											=initializer_range
         UpperCAmelCase_											=layer_norm_eps
         UpperCAmelCase_											=layer_scale_init_value
         UpperCAmelCase_											=drop_path_rate
         UpperCAmelCase_											=dropout_rate




