File size: 931 Bytes
18103a9
 
 
 
 
 
 
 
 
 
 
 
 
 
596a24b
 
 
 
 
 
 
 
 
18103a9
596a24b
18103a9
 
596a24b
18103a9
 
d2b2b68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import cv2 as cv

from .base_metric import BaseMetric
from ..factory import METRICS

@METRICS.register
class Recognition(BaseMetric):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def forward(self, model, *args, **kwargs):
        img, bboxes = args

        self._timer.reset()
        if bboxes is not None:
            for idx, bbox in enumerate(bboxes):
                for _ in range(self._warmup):
                    model.infer(img, bbox)
                for _ in range(self._repeat):
                    self._timer.start()
                    model.infer(img, bbox)
                    self._timer.stop()
        else:
            for _ in range(self._warmup):
                model.infer(img, None)
            for _ in range(self._repeat):
                self._timer.start()
                model.infer(img, None)
                self._timer.stop()

        return self._timer.getRecords()