Source code for rastervision.core.evaluation.evaluator
from typing import TYPE_CHECKING, Any, Iterable
from abc import (ABC, abstractmethod)
if TYPE_CHECKING:
from rastervision.core.data import Scene, Labels
[docs]class Evaluator(ABC):
"""Evaluates predictions for a set of scenes."""
[docs] @abstractmethod
def process(self, scenes: Iterable['Scene']) -> None:
"""Evaluate all given scenes and save the evaluations.
Args:
scenes (Iterable[Scene]): Scenes to evaluate.
"""
pass
[docs] @abstractmethod
def evaluate_scene(self, scene: 'Scene') -> Any:
"""Evaluate predictions from a scene's labels store.
The predictions are evalated against ground truth labels from the
scene's label source.
Args:
scene (Scene): A scene with a label source and a label store.
Returns:
ClassificationEvaluation: The evaluation.
"""
pass
[docs] @abstractmethod
def evaluate_predictions(self, ground_truth: 'Labels',
predictions: 'Labels') -> Any:
"""Evaluate predictions against ground truth.
Args:
ground_truth (Labels): Ground truth labels.
predictions (Labels): Predictions.
Returns:
Any: The evaluation.
"""
pass