diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java index eaf6ee12..64f43582 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java @@ -49,28 +49,38 @@ public class ExperimentInstanceStatusTask { //运行成功的实验实例记录指标数值 if (Constant.Succeeded.equals(experimentIns.getStatus())) { Map metricRecord = JacksonUtil.parseJSONStr2Map(experimentIns.getMetricRecord()); - List> trainMetricRecord = (List>) metricRecord.get("train"); - List> evaluateMetricRecord = (List>) metricRecord.get("evaluate"); + List> trainMetricRecords = (List>) metricRecord.get("train"); + List> evaluateMetricRecords = (List>) metricRecord.get("evaluate"); HashMap metricValue = new HashMap<>(); HashMap trainMetricValue = new HashMap<>(); HashMap evaluateMetricValue = new HashMap<>(); - if (trainMetricRecord != null && !trainMetricRecord.isEmpty()) { - String runId = (String) trainMetricRecord.get(0).get("run_id"); - List expTrainInfos = aimService.getExpTrainInfos1(true, experimentIns.getExperimentId(), runId); - for (InsMetricInfoVo expTrainInfo : expTrainInfos) { - Map metrics = expTrainInfo.getMetrics(); - trainMetricValue.putAll(metrics); + if (trainMetricRecords != null && !trainMetricRecords.isEmpty()) { + for (Map trainMetricRecord : trainMetricRecords) { + String taskId = (String) trainMetricRecord.get("task_id"); + if (taskId.startsWith("model-export")) { + String runId = (String) trainMetricRecord.get("run_id"); + List expTrainInfos = aimService.getExpTrainInfos1(true, experimentIns.getExperimentId(), runId); + for (InsMetricInfoVo expTrainInfo : expTrainInfos) { + Map metrics = expTrainInfo.getMetrics(); + trainMetricValue.putAll(metrics); + } + } } } - if (evaluateMetricRecord != null && !evaluateMetricRecord.isEmpty()) { - String runId = (String) evaluateMetricRecord.get(0).get("run_id"); - List expTrainInfos = aimService.getExpTrainInfos1(false, experimentIns.getExperimentId(), runId); - for (InsMetricInfoVo expTrainInfo : expTrainInfos) { - Map metrics = expTrainInfo.getMetrics(); - evaluateMetricValue.putAll(metrics); + if (evaluateMetricRecords != null && !evaluateMetricRecords.isEmpty()) { + for (Map evaluateMetricRecord : evaluateMetricRecords) { + String taskId = (String) evaluateMetricRecord.get("task_id"); + if (taskId.startsWith("model-export")) { + String runId = (String) evaluateMetricRecord.get("run_id"); + List expTrainInfos = aimService.getExpTrainInfos1(false, experimentIns.getExperimentId(), runId); + for (InsMetricInfoVo expTrainInfo : expTrainInfos) { + Map metrics = expTrainInfo.getMetrics(); + evaluateMetricValue.putAll(metrics); + } + } } } metricValue.put("train", trainMetricValue);