





'''simple docstring'''







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


_lowercase       						=			logging.get_logger(__name__)

_lowercase       						=			{
    '''facebook/data2vec-vision-base-ft''': (
        '''https://huggingface.co/facebook/data2vec-vision-base-ft/resolve/main/config.json'''
    ),
}
class 			_lowercase						(       UpperCamelCase__					):
     _UpperCAmelCase										=					"""data2vec-vision"""







     def __init__( self    ,   A__=7_68    ,   A__=12    ,   A__=12    ,   A__=30_72    ,   A__="gelu"    ,   A__=0.0    ,   A__=0.0    ,   A__=0.0_2    ,   A__=1e-12    ,   A__=2_24    ,   A__=16    ,   A__=3    ,   A__=False    ,   A__=False    ,   A__=False    ,   A__=False    ,   A__=0.1    ,   A__=0.1    ,   A__=True    ,   A__=[3, 5, 7, 11]    ,   A__=[1, 2, 3, 6]    ,   A__=True    ,   A__=0.4    ,   A__=2_56    ,   A__=1    ,   A__=False    ,   A__=2_55    ,   **A__    ,   ) ->	Any:
      super().__init__(**A__    )

      snake_case				=			hidden_size
      snake_case				=			num_hidden_layers
      snake_case				=			num_attention_heads
      snake_case				=			intermediate_size
      snake_case				=			hidden_act
      snake_case				=			hidden_dropout_prob
      snake_case				=			attention_probs_dropout_prob
      snake_case				=			initializer_range
      snake_case				=			layer_norm_eps

      snake_case				=			image_size
      snake_case				=			patch_size
      snake_case				=			num_channels
      snake_case				=			use_mask_token
      snake_case				=			use_absolute_position_embeddings
      snake_case				=			use_relative_position_bias
      snake_case				=			use_shared_relative_position_bias
      snake_case				=			layer_scale_init_value
      snake_case				=			drop_path_rate
      snake_case				=			use_mean_pooling
      # decode head attributes (semantic segmentation)
      snake_case				=			out_indices
      snake_case				=			pool_scales
      # auxiliary head attributes (semantic segmentation)
      snake_case				=			use_auxiliary_head
      snake_case				=			auxiliary_loss_weight
      snake_case				=			auxiliary_channels
      snake_case				=			auxiliary_num_convs
      snake_case				=			auxiliary_concat_input
      snake_case				=			semantic_loss_ignore_index




class 			_lowercase						(       UpperCamelCase__					):
     _UpperCAmelCase										=					version.parse('''1.11'''					)







     @property
     def     UpperCamelCase			( self    ) ->	Mapping[str, Mapping[int, str]]:
      return OrderedDict(
          [
              ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
          ]    )







     @property
     def     UpperCamelCase			( self    ) ->	float:
      return 1e-4








'''simple docstring'''







from ..utils import DummyObject, requires_backends
class 			_lowercase						(       metaclass=__a					):
     _UpperCAmelCase										=					['''transformers''', '''torch''', '''note_seq''']







     def __init__( self    ,   *A__    ,   **A__    ) ->	Union[str, Any]:
      requires_backends(self    ,   ['''transformers''', '''torch''', '''note_seq''']    )







     @classmethod
     def     UpperCamelCase			( cls    ,   *A__    ,   **A__    ) ->	Optional[Any]:
      requires_backends(cls    ,   ['''transformers''', '''torch''', '''note_seq''']    )







     @classmethod
     def     UpperCamelCase			( cls    ,   *A__    ,   **A__    ) ->	Any:
      requires_backends(cls    ,   ['''transformers''', '''torch''', '''note_seq''']    )

