





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


lowercase_          =		logging.get_logger(__name__)

lowercase_          =		{
    '''Visual-Attention-Network/van-base''': (
        '''https://huggingface.co/Visual-Attention-Network/van-base/blob/main/config.json'''
    ),
}
class     SCREAMING_SNAKE_CASE       (lowerCamelCase_				):
   _UpperCamelCase   :		Any			 =	'''van'''


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





     """simple docstring"""







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









from typing import TYPE_CHECKING

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


lowercase_          =		{
    """configuration_efficientformer""": [
        """EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """EfficientFormerConfig""",
    ]
}

try:
      if not is_vision_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_          =		["""EfficientFormerImageProcessor"""]

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_          =		[
          """EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """EfficientFormerForImageClassification""",
          """EfficientFormerForImageClassificationWithTeacher""",
          """EfficientFormerModel""",
          """EfficientFormerPreTrainedModel""",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_          =		[
          """TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """TFEfficientFormerForImageClassification""",
          """TFEfficientFormerForImageClassificationWithTeacher""",
          """TFEfficientFormerModel""",
          """TFEfficientFormerPreTrainedModel""",
      ]

if TYPE_CHECKING:
      from .configuration_efficientformer import EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, EfficientFormerConfig

      try:
            if not is_vision_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .image_processing_efficientformer import EfficientFormerImageProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_efficientformer import (
                EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                EfficientFormerForImageClassification,
                EfficientFormerForImageClassificationWithTeacher,
                EfficientFormerModel,
                EfficientFormerPreTrainedModel,
            )
      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_efficientformer import (
                TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFEfficientFormerForImageClassification,
                TFEfficientFormerForImageClassificationWithTeacher,
                TFEfficientFormerModel,
                TFEfficientFormerPreTrainedModel,
            )

else:
      import sys

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


