



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


a__   :					Tuple 						=      logging.get_logger(__name__)

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



class    UpperCAmelCase__(				lowerCamelCase						):

   '''simple docstring'''




   A     :	Union[str, Any]												=     "data2vec-vision"


   def __init__(    self	:      Dict      ,					lowerCAmelCase	:      List[Any]=7_68      ,					lowerCAmelCase	:      List[str]=12      ,					lowerCAmelCase	:      Optional[Any]=12      ,					lowerCAmelCase	:      Optional[Any]=30_72      ,					lowerCAmelCase	:      Dict="gelu"      ,					lowerCAmelCase	:      List[str]=0.0      ,					lowerCAmelCase	:      Union[str, Any]=0.0      ,					lowerCAmelCase	:      Optional[int]=0.02      ,					lowerCAmelCase	:      List[Any]=1E-1_2      ,					lowerCAmelCase	:      Any=2_24      ,					lowerCAmelCase	:      Optional[Any]=16      ,					lowerCAmelCase	:      List[Any]=3      ,					lowerCAmelCase	:      List[str]=False      ,					lowerCAmelCase	:      Dict=False      ,					lowerCAmelCase	:      List[Any]=False      ,					lowerCAmelCase	:      List[Any]=False      ,					lowerCAmelCase	:      Any=0.1      ,					lowerCAmelCase	:      List[Any]=0.1      ,					lowerCAmelCase	:      Union[str, Any]=True      ,					lowerCAmelCase	:      Optional[Any]=[3, 5, 7, 11]      ,					lowerCAmelCase	:      List[Any]=[1, 2, 3, 6]      ,					lowerCAmelCase	:      Optional[int]=True      ,					lowerCAmelCase	:      Tuple=0.4      ,					lowerCAmelCase	:      Tuple=2_56      ,					lowerCAmelCase	:      Tuple=1      ,					lowerCAmelCase	:      Optional[Any]=False      ,					lowerCAmelCase	:      List[Any]=2_55      ,					**lowerCAmelCase	:      Any      ,					)						->					Optional[int]:




         """simple docstring"""

         super().__init__(**lowerCAmelCase)

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

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



class    UpperCAmelCase__(				lowerCamelCase						):

   '''simple docstring'''




   A     :	Dict												=     version.parse("1.11"						)


   @property
   def       UpperCAmelCase		(    self	:      Any)						->					Mapping[str, Mapping[int, str]]:




         """simple docstring"""

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



   @property
   def       UpperCAmelCase		(    self	:      int)						->					float:




         """simple docstring"""

         return 1E-4





from sklearn.metrics import matthews_corrcoef

import datasets


a__   :					Any 						=      "\nCompute the Matthews correlation coefficient (MCC)\n\nThe Matthews correlation coefficient is used in machine learning as a\nmeasure of the quality of binary and multiclass classifications. It takes\ninto account true and false positives and negatives and is generally\nregarded as a balanced measure which can be used even if the classes are of\nvery different sizes. The MCC is in essence a correlation coefficient value\nbetween -1 and +1. A coefficient of +1 represents a perfect prediction, 0\nan average random prediction and -1 an inverse prediction.  The statistic\nis also known as the phi coefficient. [source: Wikipedia]\n"

a__   :					Any 						=      "\nArgs:\n    predictions (list of int): Predicted labels, as returned by a model.\n    references (list of int): Ground truth labels.\n    sample_weight (list of int, float, or bool): Sample weights. Defaults to `None`.\nReturns:\n    matthews_correlation (dict containing float): Matthews correlation.\nExamples:\n    Example 1, a basic example with only predictions and references as inputs:\n        >>> matthews_metric = datasets.load_metric(\"matthews_correlation\")\n        >>> results = matthews_metric.compute(references=[1, 3, 2, 0, 3, 2],\n        ...                                     predictions=[1, 2, 2, 0, 3, 3])\n        >>> print(round(results['matthews_correlation'], 2))\n        0.54\n\n    Example 2, the same example as above, but also including sample weights:\n        >>> matthews_metric = datasets.load_metric(\"matthews_correlation\")\n        >>> results = matthews_metric.compute(references=[1, 3, 2, 0, 3, 2],\n        ...                                     predictions=[1, 2, 2, 0, 3, 3],\n        ...                                     sample_weight=[0.5, 3, 1, 1, 1, 2])\n        >>> print(round(results['matthews_correlation'], 2))\n        0.1\n\n    Example 3, the same example as above, but with sample weights that cause a negative correlation:\n        >>> matthews_metric = datasets.load_metric(\"matthews_correlation\")\n        >>> results = matthews_metric.compute(references=[1, 3, 2, 0, 3, 2],\n        ...                                     predictions=[1, 2, 2, 0, 3, 3],\n        ...                                     sample_weight=[0.5, 1, 0, 0, 0, 1])\n        >>> print(round(results['matthews_correlation'], 2))\n        -0.25\n"

a__   :					str 						=      "\\n@article{scikit-learn,\n  title={Scikit-learn: Machine Learning in {P}ython},\n  author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.\n         and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.\n         and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and\n         Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},\n  journal={Journal of Machine Learning Research},\n  volume={12},\n  pages={2825--2830},\n  year={2011}\n}\n"



@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION  ,				_KWARGS_DESCRIPTION						)
class    UpperCAmelCase__(				datasets.Metric						):

   '''simple docstring'''




   def       UpperCAmelCase		(    self	:      List[Any])						->					int:




         """simple docstring"""

         return datasets.MetricInfo(
             description=_DESCRIPTION      ,					citation=_CITATION      ,					inputs_description=_KWARGS_DESCRIPTION      ,					features=datasets.Features(
                 {
                     'predictions': datasets.Value('int32'),
                     'references': datasets.Value('int32'),
                 })      ,					reference_urls=[
                 'https://scikit-learn.org/stable/modules/generated/sklearn.metrics.matthews_corrcoef.html'
             ]      ,					)



   def       UpperCAmelCase		(    self	:      Dict      ,					lowerCAmelCase	:      Dict      ,					lowerCAmelCase	:      Optional[int]      ,					lowerCAmelCase	:      Union[str, Any]=None)						->					Any:




         """simple docstring"""

         return {
             "matthews_correlation": float(matthews_corrcoef(lowerCAmelCase      ,					lowerCAmelCase      ,					sample_weight=lowerCAmelCase)),
         }
