



from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__SCREAMING_SNAKE_CASE  :						Tuple    							=      logging.get_logger(__name__)

__SCREAMING_SNAKE_CASE  :						int    							=      {
    'google/vit-base-patch16-224': 'https://huggingface.co/vit-base-patch16-224/resolve/main/config.json',
    # See all ViT models at https://huggingface.co/models?filter=vit
}


class 							lowerCamelCase_(   _A    ):





					'''simple docstring'''



					lowercase__   :       Optional[Any]										= 'vit'

					def __init__(    self				,       lowerCamelCase__=7_6_8				,       lowerCamelCase__=1_2				,       lowerCamelCase__=1_2				,       lowerCamelCase__=3_0_7_2				,       lowerCamelCase__="gelu"				,       lowerCamelCase__=0.0				,       lowerCamelCase__=0.0				,       lowerCamelCase__=0.0_2				,       lowerCamelCase__=1e-12				,       lowerCamelCase__=2_2_4				,       lowerCamelCase__=1_6				,       lowerCamelCase__=3				,       lowerCamelCase__=True				,       lowerCamelCase__=1_6				,       **lowerCamelCase__				,       ):
									super().__init__(**UpperCamelCase__   )

									_lowerCamelCase        =				hidden_size
									_lowerCamelCase        =				num_hidden_layers
									_lowerCamelCase        =				num_attention_heads
									_lowerCamelCase        =				intermediate_size
									_lowerCamelCase        =				hidden_act
									_lowerCamelCase        =				hidden_dropout_prob
									_lowerCamelCase        =				attention_probs_dropout_prob
									_lowerCamelCase        =				initializer_range
									_lowerCamelCase        =				layer_norm_eps
									_lowerCamelCase        =				image_size
									_lowerCamelCase        =				patch_size
									_lowerCamelCase        =				num_channels
									_lowerCamelCase        =				qkv_bias
									_lowerCamelCase        =				encoder_stride


class 							lowerCamelCase_(   _A    ):





					'''simple docstring'''



					lowercase__   :       List[str]										= version.parse('1.11'    )

					@property
					def 			snake_case__      (    self   ):
									return OrderedDict(
									    [
									        ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
									    ]   )





					@property
					def 			snake_case__      (    self   ):
									return 1e-4





"""simple docstring"""
def        lowerCAmelCase_(   lowercase_     :							str						,   lowercase_     :							str							)	->       bool:
				_lowerCamelCase        =				len(lowercase_							)
				_lowerCamelCase        =				len(lowercase_							)
				_lowerCamelCase        =				[[False for _ in range(m + 1							)] for _ in range(n + 1							)]
				_lowerCamelCase        =				True
				for i in range(lowercase_							):
								for j in range(m + 1							):
												if dp[i][j]:
																if j < m and a[i].upper() == b[j]:
																				_lowerCamelCase        =				True
																if a[i].islower():
																				_lowerCamelCase        =				True
				return dp[n][m]


if __name__ == "__main__":
			import doctest

			doctest.testmod()
