From 9958b0999aa5998ed57136f183c9b702dea468f5 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Thu, 12 Feb 2026 16:58:28 +0900 Subject: [PATCH] =?UTF-8?q?csv=20=EC=9D=BD=EB=8A=94=20=EA=B2=BD=EB=A1=9C?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=ED=95=98=EA=B8=B0,=20=EB=B3=80=EC=88=98?= =?UTF-8?q?=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kamco/cd/training/model/dto/ModelTrainMngDto.java | 2 +- .../repository/train/ModelTestMetricsJobRepositoryImpl.java | 5 ++++- .../train/ModelTrainMetricsJobRepositoryImpl.java | 5 ++++- .../kamco/cd/training/train/dto/ModelTrainMetricsDto.java | 2 ++ .../training/train/service/ModelTestMetricsJobService.java | 6 +++++- .../training/train/service/ModelTrainMetricsJobService.java | 4 ++-- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/kamco/cd/training/model/dto/ModelTrainMngDto.java b/src/main/java/com/kamco/cd/training/model/dto/ModelTrainMngDto.java index 19202e6..cabd5c6 100644 --- a/src/main/java/com/kamco/cd/training/model/dto/ModelTrainMngDto.java +++ b/src/main/java/com/kamco/cd/training/model/dto/ModelTrainMngDto.java @@ -60,7 +60,7 @@ public class ModelTrainMngDto { } } - public String getStep2StatusNAme() { + public String getStep2StatusName() { if (this.step2Status == null || this.step2Status.isBlank()) return null; try { return TrainStatusType.valueOf(this.step2Status).getText(); // 또는 getName() diff --git a/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTestMetricsJobRepositoryImpl.java b/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTestMetricsJobRepositoryImpl.java index f189150..cf6ead8 100644 --- a/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTestMetricsJobRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTestMetricsJobRepositoryImpl.java @@ -42,7 +42,10 @@ public class ModelTestMetricsJobRepositoryImpl extends QuerydslRepositorySupport return queryFactory .select( Projections.constructor( - ResponsePathDto.class, modelMasterEntity.id, modelMasterEntity.responsePath)) + ResponsePathDto.class, + modelMasterEntity.id, + modelMasterEntity.responsePath, + modelMasterEntity.uuid)) .from(modelMasterEntity) .where( modelMasterEntity.step2EndDttm.isNotNull(), diff --git a/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTrainMetricsJobRepositoryImpl.java b/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTrainMetricsJobRepositoryImpl.java index d650bc7..fb5916c 100644 --- a/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTrainMetricsJobRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/training/postgres/repository/train/ModelTrainMetricsJobRepositoryImpl.java @@ -29,7 +29,10 @@ public class ModelTrainMetricsJobRepositoryImpl extends QuerydslRepositorySuppor return queryFactory .select( Projections.constructor( - ResponsePathDto.class, modelMasterEntity.id, modelMasterEntity.responsePath)) + ResponsePathDto.class, + modelMasterEntity.id, + modelMasterEntity.responsePath, + modelMasterEntity.uuid)) .from(modelMasterEntity) .where( modelMasterEntity.step1EndDttm.isNotNull(), diff --git a/src/main/java/com/kamco/cd/training/train/dto/ModelTrainMetricsDto.java b/src/main/java/com/kamco/cd/training/train/dto/ModelTrainMetricsDto.java index ff6bd90..cf69372 100644 --- a/src/main/java/com/kamco/cd/training/train/dto/ModelTrainMetricsDto.java +++ b/src/main/java/com/kamco/cd/training/train/dto/ModelTrainMetricsDto.java @@ -1,6 +1,7 @@ package com.kamco.cd.training.train.dto; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -17,5 +18,6 @@ public class ModelTrainMetricsDto { private Long modelId; private String responsePath; + private UUID uuid; } } diff --git a/src/main/java/com/kamco/cd/training/train/service/ModelTestMetricsJobService.java b/src/main/java/com/kamco/cd/training/train/service/ModelTestMetricsJobService.java index 167d3a4..a607d3a 100644 --- a/src/main/java/com/kamco/cd/training/train/service/ModelTestMetricsJobService.java +++ b/src/main/java/com/kamco/cd/training/train/service/ModelTestMetricsJobService.java @@ -27,6 +27,10 @@ public class ModelTestMetricsJobService { @Value("${spring.profiles.active}") private String profile; + // 학습 결과가 저장될 호스트 디렉토리 + @Value("${train.docker.responseDir}") + private String responseDir; + /** * 실행중인 profile * @@ -51,7 +55,7 @@ public class ModelTestMetricsJobService { for (ResponsePathDto modelInfo : modelIds) { - String testPath = modelInfo.getResponsePath() + "/metrics/test.csv"; + String testPath = responseDir + "/" + modelInfo.getUuid() + "/metrics/test.csv"; try (BufferedReader reader = Files.newBufferedReader(Paths.get(testPath), StandardCharsets.UTF_8); ) { diff --git a/src/main/java/com/kamco/cd/training/train/service/ModelTrainMetricsJobService.java b/src/main/java/com/kamco/cd/training/train/service/ModelTrainMetricsJobService.java index 339e33b..b8a05b0 100644 --- a/src/main/java/com/kamco/cd/training/train/service/ModelTrainMetricsJobService.java +++ b/src/main/java/com/kamco/cd/training/train/service/ModelTrainMetricsJobService.java @@ -55,7 +55,7 @@ public class ModelTrainMetricsJobService { for (ResponsePathDto modelInfo : modelIds) { - String trainPath = responseDir + "{uuid}/metrics/train.csv"; // TODO + String trainPath = responseDir + "/" + modelInfo.getUuid() + "/metrics/train.csv"; try (BufferedReader reader = Files.newBufferedReader(Paths.get(trainPath), StandardCharsets.UTF_8); ) { @@ -80,7 +80,7 @@ public class ModelTrainMetricsJobService { throw new RuntimeException(e); } - String validationPath = modelInfo.getResponsePath() + "/metrics/val.csv"; + String validationPath = responseDir + "/" + modelInfo.getUuid() + "/metrics/val.csv"; try (BufferedReader reader = Files.newBufferedReader(Paths.get(validationPath), StandardCharsets.UTF_8); ) {