



"""simple docstring"""





import datasets

from .evaluate import evaluate


lowerCamelCase      =		"""\\n@inproceedings{Rajpurkar2016SQuAD10,\n  title={SQuAD: 100, 000+ Questions for Machine Comprehension of Text},\n  author={Pranav Rajpurkar and Jian Zhang and Konstantin Lopyrev and Percy Liang},\n  booktitle={EMNLP},\n  year={2016}\n}\n"""

lowerCamelCase      =		"""\nThis metric wrap the official scoring script for version 1 of the Stanford Question Answering Dataset (SQuAD).\n\nStanford Question Answering Dataset (SQuAD) is a reading comprehension dataset, consisting of questions posed by\ncrowdworkers on a set of Wikipedia articles, where the answer to every question is a segment of text, or span,\nfrom the corresponding reading passage, or the question might be unanswerable.\n"""

lowerCamelCase      =		"""\nComputes SQuAD scores (F1 and EM).\nArgs:\n    predictions: List of question-answers dictionaries with the following key-values:\n        - \'id\': id of the question-answer pair as given in the references (see below)\n        - \'prediction_text\': the text of the answer\n    references: List of question-answers dictionaries with the following key-values:\n        - \'id\': id of the question-answer pair (see above),\n        - \'answers\': a Dict in the SQuAD dataset format\n            {\n                \'text\': list of possible texts for the answer, as a list of strings\n                \'answer_start\': list of start positions for the answer, as a list of ints\n            }\n            Note that answer_start values are not taken into account to compute the metric.\nReturns:\n    \'exact_match\': Exact match (the normalized answer exactly match the gold answer)\n    \'f1\': The F-score of predicted tokens versus the gold answer\nExamples:\n\n    >>> predictions = [{\'prediction_text\': \'1976\', \'id\': \'56e10a3be3433e1400422b22\'}]\n    >>> references = [{\'answers\': {\'answer_start\': [97], \'text\': [\'1976\']}, \'id\': \'56e10a3be3433e1400422b22\'}]\n    >>> squad_metric = datasets.load_metric(\"squad\")\n    >>> results = squad_metric.compute(predictions=predictions, references=references)\n    >>> print(results)\n    {\'exact_match\': 100.0, \'f1\': 100.0}\n"""
@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION       ,      _KWARGS_DESCRIPTION   )
class    lowercase__     (					datasets.Metric   ):







       '''simple docstring'''


       def   lowercase__       (							self    :						Any					)				->		str:


             '''simple docstring'''




             return datasets.MetricInfo(
                 description=_DESCRIPTION	,       citation=_CITATION	,       inputs_description=_KWARGS_DESCRIPTION	,       features=datasets.Features(
                     {
                         "predictions": {"id": datasets.Value("string"					), "prediction_text": datasets.Value("string"					)},
                         "references": {
                             "id": datasets.Value("string"					),
                             "answers": datasets.features.Sequence(
                                 {
                                     "text": datasets.Value("string"					),
                                     "answer_start": datasets.Value("int32"					),
                                 }					),
                         },
                     }					)	,       codebase_urls=["https://rajpurkar.github.io/SQuAD-explorer/"]	,       reference_urls=["https://rajpurkar.github.io/SQuAD-explorer/"]	,       )







       def   lowercase__       (							self    :						Union[str, Any]	,       _UpperCAmelCase    :						Union[str, Any]	,       _UpperCAmelCase    :						Any					)				->		str:


             '''simple docstring'''




             UpperCAmelCase_    				=							{prediction["""id"""]: prediction["""prediction_text"""] for prediction in predictions}
             UpperCAmelCase_    				=							[
                 {
                     """paragraphs""": [
                         {
                             """qas""": [
                                 {
                                     """answers""": [{"""text""": answer_text} for answer_text in ref["""answers"""]["""text"""]],
                                     """id""": ref["""id"""],
                                 }
                                 for ref in references
                             ]
                         }
                     ]
                 }
             ]
             UpperCAmelCase_    				=							evaluate(dataset=_a	,       predictions=_a					)
             return score




"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


lowerCamelCase      =		{
    """configuration_perceiver""": ["""PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP""", """PerceiverConfig""", """PerceiverOnnxConfig"""],
    """tokenization_perceiver""": ["""PerceiverTokenizer"""],
}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase      =		["""PerceiverFeatureExtractor"""]
  lowerCamelCase      =		["""PerceiverImageProcessor"""]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase      =		[
      """PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """PerceiverForImageClassificationConvProcessing""",
      """PerceiverForImageClassificationFourier""",
      """PerceiverForImageClassificationLearned""",
      """PerceiverForMaskedLM""",
      """PerceiverForMultimodalAutoencoding""",
      """PerceiverForOpticalFlow""",
      """PerceiverForSequenceClassification""",
      """PerceiverLayer""",
      """PerceiverModel""",
      """PerceiverPreTrainedModel""",
  ]


if TYPE_CHECKING:
  from .configuration_perceiver import PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP, PerceiverConfig, PerceiverOnnxConfig
  from .tokenization_perceiver import PerceiverTokenizer

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_perceiver import PerceiverFeatureExtractor
    from .image_processing_perceiver import PerceiverImageProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_perceiver import (
        PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST,
        PerceiverForImageClassificationConvProcessing,
        PerceiverForImageClassificationFourier,
        PerceiverForImageClassificationLearned,
        PerceiverForMaskedLM,
        PerceiverForMultimodalAutoencoding,
        PerceiverForOpticalFlow,
        PerceiverForSequenceClassification,
        PerceiverLayer,
        PerceiverModel,
        PerceiverPreTrainedModel,
    )

else:
  import sys

  lowerCamelCase      =		_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




