Source code for aitlas.tasks.evaluate
import logging
from ..base import BaseModel, BaseTask
from ..utils import stringify
from .schemas import EvaluateTaskSchema
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
[docs]class EvaluateTask(BaseTask):
schema = EvaluateTaskSchema
def __init__(self, model: BaseModel, config):
super().__init__(model, config)
[docs] def run(self):
"""Evaluate the dataset against a given model"""
# load the dataset
dataset = self.create_dataset(self.config.dataset_config)
loss = self.model.evaluate(dataset=dataset, model_path=self.config.model_path)
# log the metrics
logging.info(stringify(self.model.running_metrics.get_scores(self.model.metrics)))
# generate a report
self.model.report(dataset.get_labels(), dataset.get_name(), self.model.running_metrics, id=self.id)