Source code for pixaris.experiment_handlers.base

from abc import abstractmethod
from typing import Iterable
from PIL import Image


[docs] class ExperimentHandler: """When implementing a new Experiment Handler, inherit from this one and implement all the abstract methods."""
[docs] @abstractmethod def store_results( self, project: str, dataset: str, experiment_run_name: str, image_name_pairs: Iterable[tuple[Image.Image, str]], metric_values: dict[str, float], args: dict[str, any], ) -> None: pass
def _validate_experiment_run_name( self, experiment_run_name: str, ): pass
[docs] @abstractmethod def load_projects_and_datasets( self, ): pass
[docs] @abstractmethod def load_experiment_results_for_dataset( self, project: str, dataset: str, ): pass
[docs] @abstractmethod def load_images_for_experiment( self, project: str, dataset: str, experiment_run_name: str, local_results_directory: str, ): pass