Source code for rastervision.core.evaluation.evaluator_config

from typing import TYPE_CHECKING, Iterable
from os.path import join

from rastervision.pipeline.config import register_config, Config, Field

if TYPE_CHECKING:
    from rastervision.core.data import ClassConfig
    from rastervision.core.evaluation import Evaluator
    from rastervision.core.rv_pipeline import RVPipelineConfig


[docs]@register_config('evaluator') class EvaluatorConfig(Config): """Configure an :class:`.Evaluator`.""" output_uri: str | None = Field( None, description='URI of directory where evaluator output will be saved. ' 'Evaluations for each scene-group will be save in a JSON file at ' '<output_uri>/<scene-group-name>/eval.json. If None, and this Config ' 'is part of an RVPipeline, this field will be auto-generated.')
[docs] def build(self, class_config: 'ClassConfig', scene_group: tuple[str, Iterable[str]] | None = None ) -> 'Evaluator': pass
[docs] def get_output_uri(self, scene_group_name: str | None = None) -> str: if scene_group_name is None: return join(self.output_uri, 'eval.json') return join(self.output_uri, scene_group_name, 'eval.json')
[docs] def update(self, pipeline: 'RVPipelineConfig | None' = None) -> None: if pipeline is not None and self.output_uri is None: self.output_uri = pipeline.eval_uri