




"""simple docstring"""

from typing import TYPE_CHECKING

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


a							      =     {
    '''configuration_convnext''': ['''CONVNEXT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ConvNextConfig''', '''ConvNextOnnxConfig''']
}

try:
       if not is_vision_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a							      =     ['''ConvNextFeatureExtractor''']
       a							      =     ['''ConvNextImageProcessor''']

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a							      =     [
           '''CONVNEXT_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''ConvNextForImageClassification''',
           '''ConvNextModel''',
           '''ConvNextPreTrainedModel''',
           '''ConvNextBackbone''',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a							      =     [
           '''TFConvNextForImageClassification''',
           '''TFConvNextModel''',
           '''TFConvNextPreTrainedModel''',
       ]

if TYPE_CHECKING:
       from .configuration_convnext import CONVNEXT_PRETRAINED_CONFIG_ARCHIVE_MAP, ConvNextConfig, ConvNextOnnxConfig

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .feature_extraction_convnext import ConvNextFeatureExtractor
              from .image_processing_convnext import ConvNextImageProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_convnext import (
                  CONVNEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  ConvNextBackbone,
                  ConvNextForImageClassification,
                  ConvNextModel,
                  ConvNextPreTrainedModel,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_convnext import TFConvNextForImageClassification, TFConvNextModel, TFConvNextPreTrainedModel


else:
       import sys

       a							      =     _LazyModule(__name__, globals()['''__file__'''], _import_structure)







"""simple docstring"""

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


a							      =     logging.get_logger(__name__)

a							      =     {
    '''facebook/vit-mae-base''': '''https://huggingface.co/facebook/vit-mae-base/resolve/main/config.json''',
    # See all ViT MAE models at https://huggingface.co/models?filter=vit-mae
}





class 							lowercase_			(	__lowerCAmelCase				):



 '''simple docstring'''
 UpperCAmelCase       :	int     =      '''vit_mae'''

 def __init__(					self			:			Union[str, Any]       ,				_UpperCAmelCase			:			Optional[int]=768       ,				_UpperCAmelCase			:			Tuple=12       ,				_UpperCAmelCase			:			Optional[Any]=12       ,				_UpperCAmelCase			:			Optional[int]=3_072       ,				_UpperCAmelCase			:			Any="gelu"       ,				_UpperCAmelCase			:			Optional[Any]=0.0       ,				_UpperCAmelCase			:			Optional[int]=0.0       ,				_UpperCAmelCase			:			Dict=0.02       ,				_UpperCAmelCase			:			List[Any]=1E-1_2       ,				_UpperCAmelCase			:			Optional[Any]=224       ,				_UpperCAmelCase			:			int=16       ,				_UpperCAmelCase			:			str=3       ,				_UpperCAmelCase			:			Tuple=True       ,				_UpperCAmelCase			:			int=16       ,				_UpperCAmelCase			:			str=512       ,				_UpperCAmelCase			:			int=8       ,				_UpperCAmelCase			:			List[Any]=2_048       ,				_UpperCAmelCase			:			Optional[Any]=0.75       ,				_UpperCAmelCase			:			List[str]=False       ,				**_UpperCAmelCase			:			Union[str, Any]       ,				):
       super().__init__(**_UpperCAmelCase						)

       _A     =  hidden_size
       _A     =  num_hidden_layers
       _A     =  num_attention_heads
       _A     =  intermediate_size
       _A     =  hidden_act
       _A     =  hidden_dropout_prob
       _A     =  attention_probs_dropout_prob
       _A     =  initializer_range
       _A     =  layer_norm_eps
       _A     =  image_size
       _A     =  patch_size
       _A     =  num_channels
       _A     =  qkv_bias
       _A     =  decoder_num_attention_heads
       _A     =  decoder_hidden_size
       _A     =  decoder_num_hidden_layers
       _A     =  decoder_intermediate_size
       _A     =  mask_ratio
       _A     =  norm_pix_loss

