ytfeng's picture
Refactor benchmark (#148)
d2b2b68
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()