Source code for gigl.src.common.translators.model_eval_metrics_translator

import json
from pathlib import Path

from gigl.common import LocalUri
from gigl.src.common.types.model_eval_metrics import EvalMetricsCollection


[docs] class EvalMetricsCollectionTranslator: @classmethod
[docs] def write_kfp_metrics_to_pipeline_metric_path( cls, eval_metrics: EvalMetricsCollection, path: LocalUri ): kfp_metrics_list = [] for metric in eval_metrics.metrics.values(): kfp_metrics_list.append( { "name": metric.name, "numberValue": f"{metric.value}", # KFP api specific; v2 will deprecate this format (alternative is percentage in v1 - which v2 has removed) "format": "RAW", } ) metrics = {"metrics": kfp_metrics_list} Path(path.uri).parent.mkdir(parents=True, exist_ok=True) with open(path.uri, "w") as f: json.dump(metrics, f)