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


_snake_case								=  logging.get_logger(__name__)

_snake_case								=  {
    '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     _snake_case  (  lowerCamelCase_ ):
					lowerCamelCase__:						List[str]     =   "vit_mae"
					def __init__(     self: Union[str, Any]		,     __lowerCamelCase: Tuple=7_68		,     __lowerCamelCase: str=12		,     __lowerCamelCase: List[str]=12		,     __lowerCamelCase: List[str]=30_72		,     __lowerCamelCase: Optional[Any]="gelu"		,     __lowerCamelCase: List[str]=0.0		,     __lowerCamelCase: Dict=0.0		,     __lowerCamelCase: Union[str, Any]=0.02		,     __lowerCamelCase: Optional[int]=1e-12		,     __lowerCamelCase: List[str]=2_24		,     __lowerCamelCase: List[Any]=16		,     __lowerCamelCase: Tuple=3		,     __lowerCamelCase: Dict=True		,     __lowerCamelCase: List[str]=16		,     __lowerCamelCase: List[str]=5_12		,     __lowerCamelCase: Optional[int]=8		,     __lowerCamelCase: Dict=20_48		,     __lowerCamelCase: Any=0.75		,     __lowerCamelCase: int=False		,     **__lowerCamelCase: List[Any]		,     )			-> Optional[Any]:
												super().__init__(**__a   )

												__UpperCAmelCase  :	List[str]   			=      hidden_size
												__UpperCAmelCase  :	Union[str, Any]   			=      num_hidden_layers
												__UpperCAmelCase  :	Dict   			=      num_attention_heads
												__UpperCAmelCase  :	Dict   			=      intermediate_size
												__UpperCAmelCase  :	Optional[int]   			=      hidden_act
												__UpperCAmelCase  :	str   			=      hidden_dropout_prob
												__UpperCAmelCase  :	Tuple   			=      attention_probs_dropout_prob
												__UpperCAmelCase  :	Union[str, Any]   			=      initializer_range
												__UpperCAmelCase  :	List[Any]   			=      layer_norm_eps
												__UpperCAmelCase  :	Optional[Any]   			=      image_size
												__UpperCAmelCase  :	Optional[int]   			=      patch_size
												__UpperCAmelCase  :	str   			=      num_channels
												__UpperCAmelCase  :	int   			=      qkv_bias
												__UpperCAmelCase  :	Any   			=      decoder_num_attention_heads
												__UpperCAmelCase  :	int   			=      decoder_hidden_size
												__UpperCAmelCase  :	str   			=      decoder_num_hidden_layers
												__UpperCAmelCase  :	str   			=      decoder_intermediate_size
												__UpperCAmelCase  :	str   			=      mask_ratio
												__UpperCAmelCase  :	List[str]   			=      norm_pix_loss











'''simple docstring'''







def  _lowerCamelCase				( lowercase						:      int						)	->	bool:
				if num < 0:
								return False

				_a								= num
				_a								= 0
				while num > 0:
								_a								= rev_num * 10 + (num % 10)
								num //= 10

				return num_copy == rev_num


if __name__ == "__main__":
					import doctest

					doctest.testmod()
