22 lines
593 B
Python

from typing import Mapping, List
import numpy as np
from image_prediction.utils import get_logger
logger = get_logger()
class ServiceEstimator:
def __init__(self, estimator_adapter, classes: Mapping[int, str]):
self.__estimator_adapter = estimator_adapter
self.__classes = classes
def predict(self, batch: np.array) -> List[str]:
if batch.shape[0] == 0:
logger.warning("ServiceEstimator received empty batch.")
return []
return [self.__classes[numeric_label] for numeric_label in self.__estimator_adapter.predict(batch)]