| import cv2 as cv | |
| from .base_metric import BaseMetric | |
| from ..factory import METRICS | |
| class Detection(BaseMetric): | |
| def __init__(self, **kwargs): | |
| super().__init__(**kwargs) | |
| def forward(self, model, *args, **kwargs): | |
| img = args[0] | |
| size = [img.shape[1], img.shape[0]] | |
| try: | |
| model.setInputSize(size) | |
| except: | |
| pass | |
| # warmup | |
| for _ in range(self._warmup): | |
| model.infer(img) | |
| # repeat | |
| self._timer.reset() | |
| for _ in range(self._repeat): | |
| self._timer.start() | |
| model.infer(img) | |
| self._timer.stop() | |
| return self._timer.getRecords() | |