






import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

SCREAMING_SNAKE_CASE__				     =			'''python tqdm regex requests packaging filelock numpy tokenizers'''.split()
if sys.version_info < (3, 7):
							pkgs_to_check_at_runtime.append('''dataclasses''')
if sys.version_info < (3, 8):
							pkgs_to_check_at_runtime.append('''importlib_metadata''')

for pkg in pkgs_to_check_at_runtime:
							if pkg in deps:
														if pkg == "tokenizers":
																					# must be loaded here, or else tqdm check may fail
																					from .utils import is_tokenizers_available

																					if not is_tokenizers_available():
																												continue  # not required, check version only if installed

														require_version_core(deps[pkg])
							else:
														raise ValueError(F"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")

def        UpperCAmelCase__		(						lowerCamelCase_       :       Optional[Any]   ,  lowerCamelCase_       :       List[str]=None				):
			require_version(deps[pkg]   ,  lowerCamelCase_				)












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


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

lowerCAmelCase							:       Tuple					 =	{
    """facebook/data2vec-vision-base-ft""": (
        """https://huggingface.co/facebook/data2vec-vision-base-ft/resolve/main/config.json"""
    ),
}





class 				a			(      __lowercase			):
				SCREAMING_SNAKE_CASE__     :   Union[str, Any]		      =     '''data2vec-vision'''






				def __init__(  self			, _lowerCAmelCase=768			, _lowerCAmelCase=12			, _lowerCAmelCase=12			, _lowerCAmelCase=3072			, _lowerCAmelCase="gelu"			, _lowerCAmelCase=0.0			, _lowerCAmelCase=0.0			, _lowerCAmelCase=0.02			, _lowerCAmelCase=1e-12			, _lowerCAmelCase=224			, _lowerCAmelCase=16			, _lowerCAmelCase=3			, _lowerCAmelCase=False			, _lowerCAmelCase=False			, _lowerCAmelCase=False			, _lowerCAmelCase=False			, _lowerCAmelCase=0.1			, _lowerCAmelCase=0.1			, _lowerCAmelCase=True			, _lowerCAmelCase=[3, 5, 7, 11]			, _lowerCAmelCase=[1, 2, 3, 6]			, _lowerCAmelCase=True			, _lowerCAmelCase=0.4			, _lowerCAmelCase=256			, _lowerCAmelCase=1			, _lowerCAmelCase=False			, _lowerCAmelCase=255			, **_lowerCAmelCase			, ):

										"""simple docstring"""




										super().__init__(**_lowerCAmelCase					)

										__SCREAMING_SNAKE_CASE:				str           =   hidden_size
										__SCREAMING_SNAKE_CASE:				Tuple           =   num_hidden_layers
										__SCREAMING_SNAKE_CASE:				Tuple           =   num_attention_heads
										__SCREAMING_SNAKE_CASE:				int           =   intermediate_size
										__SCREAMING_SNAKE_CASE:				Optional[Any]           =   hidden_act
										__SCREAMING_SNAKE_CASE:				int           =   hidden_dropout_prob
										__SCREAMING_SNAKE_CASE:				str           =   attention_probs_dropout_prob
										__SCREAMING_SNAKE_CASE:				Any           =   initializer_range
										__SCREAMING_SNAKE_CASE:				Union[str, Any]           =   layer_norm_eps

										__SCREAMING_SNAKE_CASE:				Optional[Any]           =   image_size
										__SCREAMING_SNAKE_CASE:				List[str]           =   patch_size
										__SCREAMING_SNAKE_CASE:				Optional[int]           =   num_channels
										__SCREAMING_SNAKE_CASE:				List[Any]           =   use_mask_token
										__SCREAMING_SNAKE_CASE:				Tuple           =   use_absolute_position_embeddings
										__SCREAMING_SNAKE_CASE:				Any           =   use_relative_position_bias
										__SCREAMING_SNAKE_CASE:				Dict           =   use_shared_relative_position_bias
										__SCREAMING_SNAKE_CASE:				Any           =   layer_scale_init_value
										__SCREAMING_SNAKE_CASE:				List[Any]           =   drop_path_rate
										__SCREAMING_SNAKE_CASE:				int           =   use_mean_pooling
										# decode head attributes (semantic segmentation)
										__SCREAMING_SNAKE_CASE:				Union[str, Any]           =   out_indices
										__SCREAMING_SNAKE_CASE:				Optional[int]           =   pool_scales
										# auxiliary head attributes (semantic segmentation)
										__SCREAMING_SNAKE_CASE:				Optional[int]           =   use_auxiliary_head
										__SCREAMING_SNAKE_CASE:				Optional[Any]           =   auxiliary_loss_weight
										__SCREAMING_SNAKE_CASE:				Optional[Any]           =   auxiliary_channels
										__SCREAMING_SNAKE_CASE:				Optional[int]           =   auxiliary_num_convs
										__SCREAMING_SNAKE_CASE:				Any           =   auxiliary_concat_input
										__SCREAMING_SNAKE_CASE:				List[str]           =   semantic_loss_ignore_index





class 				a			(      __lowercase			):
				SCREAMING_SNAKE_CASE__     :   List[Any]		      =     version.parse('''1.11'''			)






				@property
				def 			snake_case_    (  self					):

										"""simple docstring"""




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






				@property
				def 			snake_case_    (  self					):

										"""simple docstring"""




										return 1e-4



