






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


__UpperCAmelCase							:   Optional[int]							=  logging.get_logger(__name__)

__UpperCAmelCase							:   str							=  {
    "sayakpaul/vit-msn-base": "https://huggingface.co/sayakpaul/vit-msn-base/resolve/main/config.json",
    # See all ViT MSN models at https://huggingface.co/models?filter=vit_msn
}


class 					_snake_case						(			A_ ):
	_A          =   '''vit_msn'''






	def __init__(		self					,UpperCamelCase=768					,UpperCamelCase=12					,UpperCamelCase=12					,UpperCamelCase=3_072					,UpperCamelCase="gelu"					,UpperCamelCase=0.0					,UpperCamelCase=0.0					,UpperCamelCase=0.02					,UpperCamelCase=1E-06					,UpperCamelCase=224					,UpperCamelCase=16					,UpperCamelCase=3					,UpperCamelCase=True					,**UpperCamelCase					,)						->    Optional[Any]:
					super().__init__(**UpperCamelCase       )

					snake_case__      :Optional[int]         =   hidden_size
					snake_case__      :Any         =   num_hidden_layers
					snake_case__      :Dict         =   num_attention_heads
					snake_case__      :List[str]         =   intermediate_size
					snake_case__      :Tuple         =   hidden_act
					snake_case__      :Optional[int]         =   hidden_dropout_prob
					snake_case__      :List[Any]         =   attention_probs_dropout_prob
					snake_case__      :Dict         =   initializer_range
					snake_case__      :str         =   layer_norm_eps
					snake_case__      :Union[str, Any]         =   image_size
					snake_case__      :str         =   patch_size
					snake_case__      :List[str]         =   num_channels
					snake_case__      :List[Any]         =   qkv_bias












def 					lowercase_ (    __snake_case     :							str      )     -> list:





				'''simple docstring'''


				return [
				    txt[:a] + txt[a].upper() + txt[a + 1 :]
				    for a in range(len(__snake_case      )      )
				    if txt[a].isalpha()
				]


if __name__ == "__main__":
	__import__("doctest").testmod()