Source code for malib.evaluator.generic

from typing import Dict, Any

from malib.utils.typing import EvaluateResult
from malib.evaluator.base_evaluator import BaseEvaluator


[docs]class GenericEvaluator(BaseEvaluator):
[docs] class StopMetrics: MAX_ITERATION = "max_iteration"
def __init__(self, **config): super(GenericEvaluator, self).__init__( config.get("stop_metrics", {}), name="generic" ) self._iteration = 0
[docs] def evaluate(self, *args, **kwargs) -> Dict[str, Any]: res = EvaluateResult.default_result() self._iteration += 1 res[EvaluateResult.CONVERGED] = ( self._metrics.get(GenericEvaluator.StopMetrics.MAX_ITERATION, 1) == self._iteration ) return res