class_docstr: Test class collection different tests for different properties parametrized by backend argument.
class_docstr_tok: ["Test","class","collection","different","tests","for","different","properties","parametrized","by","backend","argument","."]
docstr: Test how metric behaves when there are many detection thresholds.
  
  Known to fail with the default pycocotools backend.
  See issue: https://github.com/Lightning-AI/torchmetrics/issues/1153
docstr_tok: ["Test","how","metric","behaves","when","there","are","many","detection","thresholds",".","Known","to","fail","with","the","default","pycocotools","backend",".","See","issue",":","https",":","\/\/github.com\/Lightning-AI\/torchmetrics\/issues\/1153"]
code: def test_many_detection_thresholds(self, backend):
      """Test how metric behaves when there are many detection thresholds.
  
      Known to fail with the default pycocotools backend.
      See issue: https://github.com/Lightning-AI/torchmetrics/issues/1153
  
      """
      preds = [
          {
              "boxes": torch.tensor([[258.0, 41.0, 606.0, 285.0]]),
              "scores": torch.tensor([0.536]),
              "labels": torch.tensor([0]),
          }
      ]
      target = [
          {
              "boxes": torch.tensor([[214.0, 41.0, 562.0, 285.0]]),
              "labels": torch.tensor([0]),
          }
      ]
      metric = MeanAveragePrecision(
          max_detection_thresholds=[1, 10, 1000], backend=backend
      )
      res = metric(preds, target)
  
      if backend == "pycocotools":
          assert round(res["map"].item(), 5) != 0.6
      else:
          assert round(res["map"].item(), 5) == 0.6
  
imports: import contextlib
  import io
  import json
  from copy import deepcopy
  from functools import partial
  from itertools import product
  import numpy
  import pytest
  import torch
  from lightning_utilities import apply_to_collection
  from pycocotools.coco import COCO
  from pycocotools.cocoeval import COCOeval
  from torch import IntTensor, Tensor
  from torchmetrics.detection.mean_ap import MeanAveragePrecision
  from torchmetrics.utilities.imports import _FASTER_COCO_EVAL_AVAILABLE, _PYCOCOTOOLS_AVAILABLE, _TORCHVISION_GREATER_EQUAL_0_8
  from unittests.detection import _DETECTION_BBOX, _DETECTION_SEGM, _DETECTION_VAL
  from unittests.helpers.testers import MetricTester
label_desc: Use image node_id 21 for calling the TestMapProperties obj's underlying member method code with example usage: obj.test_many_detection_thresholds(backend) without return types