






from typing import TYPE_CHECKING

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


__a:     Dict   					=					{
    '''configuration_mobilevit''': ['''MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MobileViTConfig''', '''MobileViTOnnxConfig'''],
}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a:     Any   					=					['''MobileViTFeatureExtractor''']
  __a:     int   					=					['''MobileViTImageProcessor''']

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a:     str   					=					[
      '''MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''MobileViTForImageClassification''',
      '''MobileViTForSemanticSegmentation''',
      '''MobileViTModel''',
      '''MobileViTPreTrainedModel''',
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a:     List[str]   					=					[
      '''TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''TFMobileViTForImageClassification''',
      '''TFMobileViTForSemanticSegmentation''',
      '''TFMobileViTModel''',
      '''TFMobileViTPreTrainedModel''',
  ]

if TYPE_CHECKING:
  from .configuration_mobilevit import MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP, MobileViTConfig, MobileViTOnnxConfig

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_mobilevit import MobileViTFeatureExtractor
    from .image_processing_mobilevit import MobileViTImageProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_mobilevit import (
        MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
        MobileViTForImageClassification,
        MobileViTForSemanticSegmentation,
        MobileViTModel,
        MobileViTPreTrainedModel,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_mobilevit import (
        TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFMobileViTForImageClassification,
        TFMobileViTForSemanticSegmentation,
        TFMobileViTModel,
        TFMobileViTPreTrainedModel,
    )


else:
  import sys

  __a:     str   					=					_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

"""simple docstring"""



from ...configuration_utils import PretrainedConfig





class 				a			(					lowercase      ):
      UpperCamelCase							:   Union[str, Any]           =     """bert-generation"""



      def __init__(   self     ,	UpperCamelCase_=50_358     ,	UpperCamelCase_=1_024     ,	UpperCamelCase_=24     ,	UpperCamelCase_=16     ,	UpperCamelCase_=4_096     ,	UpperCamelCase_="gelu"     ,	UpperCamelCase_=0.1     ,	UpperCamelCase_=0.1     ,	UpperCamelCase_=512     ,	UpperCamelCase_=0.02     ,	UpperCamelCase_=1E-12     ,	UpperCamelCase_=0     ,	UpperCamelCase_=2     ,	UpperCamelCase_=1     ,	UpperCamelCase_="absolute"     ,	UpperCamelCase_=True     ,	**UpperCamelCase_     ,	):
          super().__init__(pad_token_id=UpperCamelCase_     ,	bos_token_id=UpperCamelCase_     ,	eos_token_id=UpperCamelCase_     ,	**UpperCamelCase_      )

          UpperCAmelCase__	:      Optional[Any]     							=					vocab_size
          UpperCAmelCase__	:      Union[str, Any]     							=					hidden_size
          UpperCAmelCase__	:      Optional[Any]     							=					num_hidden_layers
          UpperCAmelCase__	:      Dict     							=					num_attention_heads
          UpperCAmelCase__	:      Dict     							=					hidden_act
          UpperCAmelCase__	:      Optional[Any]     							=					intermediate_size
          UpperCAmelCase__	:      Optional[int]     							=					hidden_dropout_prob
          UpperCAmelCase__	:      Tuple     							=					attention_probs_dropout_prob
          UpperCAmelCase__	:      List[Any]     							=					max_position_embeddings
          UpperCAmelCase__	:      Optional[int]     							=					initializer_range
          UpperCAmelCase__	:      Optional[int]     							=					layer_norm_eps
          UpperCAmelCase__	:      Union[str, Any]     							=					position_embedding_type
          UpperCAmelCase__	:      Dict     							=					use_cache

