# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved import contextlib import copy import io import json import numpy as np import os import tempfile import unittest from pycocotools.coco import COCO from pycocotools.cocoeval import COCOeval from detectron2.evaluation.fast_eval_api import COCOeval_opt class TestCOCOeval(unittest.TestCase): def test(self): # A small set of images/categories from COCO val # fmt: off detections = [{"image_id": 139, "category_id": 1, "bbox": [417.3332824707031, 159.27003479003906, 47.66064453125, 143.00193786621094], "score": 0.9949821829795837, "segmentation": {"size": [426, 640], "counts": "Tc`52W=3N0N4aNN^E7]:4XE1g:8kDMT;U100000001O1gE[Nk8h1dFiNY9Z1aFkN]9g2J3NdN`FlN`9S1cFRN07]9g1bFoM6;X9c1cFoM=8R9g1bFQN>3U9Y30O01OO1O001N2O1N1O4L4L5UNoE3V:CVF6Q:@YF9l9@ZF 0 else 0.0 msg = "%s: comparing COCO APIs, %s differs by %f" % (name, k, abs_diff) self.assertTrue(abs_diff < 1e-4, msg=msg)