




'''simple docstring'''






import datasets


_lowerCAmelCase      	=					'''\\n@InProceedings{conneau2018xnli,\n  author = "Conneau, Alexis\n                 and Rinott, Ruty\n                 and Lample, Guillaume\n                 and Williams, Adina\n                 and Bowman, Samuel R.\n                 and Schwenk, Holger\n                 and Stoyanov, Veselin",\n  title = "XNLI: Evaluating Cross-lingual Sentence Representations",\n  booktitle = "Proceedings of the 2018 Conference on Empirical Methods\n               in Natural Language Processing",\n  year = "2018",\n  publisher = "Association for Computational Linguistics",\n  location = "Brussels, Belgium",\n}\n'''

_lowerCAmelCase      	=					'''\\nXNLI is a subset of a few thousand examples from MNLI which has been translated\ninto a 14 different languages (some low-ish resource). As with MNLI, the goal is\nto predict textual entailment (does sentence A imply/contradict/neither sentence\nB) and is a classification task (given two sentences, predict one of three\nlabels).\n'''

_lowerCAmelCase      	=					'''\nComputes XNLI score which is just simple accuracy.\nArgs:\n    predictions: Predicted labels.\n    references: Ground truth labels.\nReturns:\n    \'accuracy\': accuracy\nExamples:\n\n    >>> predictions = [0, 1]\n    >>> references = [0, 1]\n    >>> xnli_metric = datasets.load_metric("xnli")\n    >>> results = xnli_metric.compute(predictions=predictions, references=references)\n    >>> print(results)\n    {\'accuracy\': 1.0}\n'''

def 			__lowerCAmelCase					(    snake_case__					,      snake_case__						):
			return (preds == labels).mean()




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




				'''simple docstring'''





				def        a_       (self			)	->       Union[str, Any]:
							return datasets.MetricInfo(
							    description=_DESCRIPTION ,  citation=_CITATION ,  inputs_description=_KWARGS_DESCRIPTION ,  features=datasets.Features(
							        {
							            "predictions": datasets.Value("int64" if self.config_name != "sts-b" else "float32"			),
							            "references": datasets.Value("int64" if self.config_name != "sts-b" else "float32"			),
							        }			) ,  codebase_urls=[] ,  reference_urls=[] ,  format="numpy" ,  )





				def        a_       (self ,  _UpperCAmelCase ,  _UpperCAmelCase			)	->       str:
							return {"accuracy": simple_accuracy(_a ,  _a			)}








'''simple docstring'''





import inspect
import warnings
from typing import Any, Dict, Optional, Union

from packaging import version

def        a_     (							*_lowerCAmelCase       ,_lowerCAmelCase = None       ,_lowerCAmelCase=True       ,_lowerCAmelCase=2       )      ->      List[str]:
  from .. import __version__

  __lowerCamelCase       :       Any           = take_from
  __lowerCamelCase       :       Optional[int]           = ()
  if not isinstance(args[0]       ,_lowerCAmelCase       ):
    __lowerCamelCase       :       Optional[Any]           = (args,)

  for attribute, version_name, message in args:
    if version.parse(version.parse(_lowerCAmelCase       ).base_version       ) >= version.parse(_lowerCAmelCase       ):
      raise ValueError(
          F'The deprecation tuple {(attribute, version_name, message)} should be removed since diffusers\''
          F' version {__version__} is >= {version_name}'       )

    __lowerCamelCase       :       Union[str, Any]           = None
    if isinstance(_lowerCAmelCase       ,_lowerCAmelCase       ) and attribute in deprecated_kwargs:
      values += (deprecated_kwargs.pop(_lowerCAmelCase       ),)
      __lowerCamelCase       :       Optional[Any]           = F'The `{attribute}` argument is deprecated and will be removed in version {version_name}.'
    elif hasattr(_lowerCAmelCase       ,_lowerCAmelCase       ):
      values += (getattr(_lowerCAmelCase       ,_lowerCAmelCase       ),)
      __lowerCamelCase       :       List[str]           = F'The `{attribute}` attribute is deprecated and will be removed in version {version_name}.'
    elif deprecated_kwargs is None:
      __lowerCamelCase       :       Optional[Any]           = F'`{attribute}` is deprecated and will be removed in version {version_name}.'

    if warning is not None:
      __lowerCamelCase       :       Optional[int]           = warning + ' ' if standard_warn else ''
      warnings.warn(warning + message       ,_lowerCAmelCase       ,stacklevel=_lowerCAmelCase       )

  if isinstance(_lowerCAmelCase       ,_lowerCAmelCase       ) and len(_lowerCAmelCase       ) > 0:
    __lowerCamelCase       :       Optional[Any]           = inspect.getouterframes(inspect.currentframe()       )[1]
    __lowerCamelCase       :       List[str]           = call_frame.filename
    __lowerCamelCase       :       int           = call_frame.lineno
    __lowerCamelCase       :       Union[str, Any]           = call_frame.function
    __lowerCamelCase       ,__lowerCamelCase       :       Union[str, Any]           = next(iter(deprecated_kwargs.items()       )       )
    raise TypeError(F'{function} in {filename} line {line_number-1} got an unexpected keyword argument `{key}`'       )

  if len(_lowerCAmelCase       ) == 0:
    return
  elif len(_lowerCAmelCase       ) == 1:
    return values[0]
  return values






