Source code for rastervision.core.evaluation.evaluator_config

from typing import TYPE_CHECKING, Iterable, Optional, Tuple
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: Optional[str] = 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: Optional[Tuple[str, Iterable[str]]] = None ) -> 'Evaluator': pass
[docs] def get_output_uri(self, scene_group_name: Optional[str] = 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: Optional['RVPipelineConfig'] = None) -> None: if pipeline is not None and self.output_uri is None: self.output_uri = pipeline.eval_uri