


'''simple docstring'''



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


__lowercase	:						List[str]       =	logging.get_logger(__name__)

__lowercase	:						Optional[Any]       =	{
    '''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 							__UpperCamelCase				(		A__					):
	A_				=    '''vit_mae'''




	def __init__(   self						,				__a=768						,				__a=12						,				__a=12						,				__a=3072						,				__a="gelu"						,				__a=0.0						,				__a=0.0						,				__a=0.02						,				__a=1E-1_2						,				__a=224						,				__a=16						,				__a=3						,				__a=True						,				__a=16						,				__a=512						,				__a=8						,				__a=2048						,				__a=0.75						,				__a=False						,				**__a						,				):

						'''simple docstring'''





						super().__init__(**__a							)

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











lowerCamelCase	:							List[Any]				=[
    (1000, '''M'''),
    (900, '''CM'''),
    (500, '''D'''),
    (400, '''CD'''),
    (100, '''C'''),
    (90, '''XC'''),
    (50, '''L'''),
    (40, '''XL'''),
    (10, '''X'''),
    (9, '''IX'''),
    (5, '''V'''),
    (4, '''IV'''),
    (1, '''I'''),
]







def 		SCREAMING_SNAKE_CASE							(					__lowerCAmelCase			) ->	int:
     UpperCamelCase__			:   Optional[int]       				=  {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
     UpperCamelCase__			:   Any       				=  0
     UpperCamelCase__			:   Any       				=  0
     while place < len(__lowerCAmelCase			):
          if (place + 1 < len(__lowerCAmelCase			)) and (vals[roman[place]] < vals[roman[place + 1]]):
               total += vals[roman[place + 1]] - vals[roman[place]]
               place += 2
          else:
               total += vals[roman[place]]
               place += 1
     return total







def 		SCREAMING_SNAKE_CASE							(					__lowerCAmelCase			) ->	str:
     UpperCamelCase__			:   Optional[int]       				=  []
     for arabic, roman in ROMAN:
          ((UpperCamelCase__)				,     (UpperCamelCase__))			:   Optional[int]       				=  divmod(__lowerCAmelCase					,    __lowerCAmelCase			)
          result.append(roman * factor			)
          if number == 0:
               break
     return "".join(__lowerCAmelCase			)


if __name__ == "__main__":
 import doctest

 doctest.testmod()