From 80e75ae1437b96111bdfba60ba5f24521fc8ee2c Mon Sep 17 00:00:00 2001 From: Moon Date: Mon, 12 Jan 2026 12:04:10 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A8=EB=8D=B8=EB=93=B1=EB=A1=9D=EC=8B=9C?= =?UTF-8?q?=20JSON=ED=8C=8C=EC=9D=BC(=EC=83=81=ED=83=9C=EA=B0=92)=20?= =?UTF-8?q?=ED=8C=8C=EC=8B=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/service/ModelMngService.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java b/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java index d32059b7..f8108745 100644 --- a/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java +++ b/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java @@ -1,5 +1,7 @@ package com.kamco.cd.kamcoback.model.service; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.utils.FIleChecker; import com.kamco.cd.kamcoback.common.utils.FIleChecker.Basic; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; @@ -10,6 +12,8 @@ import com.kamco.cd.kamcoback.postgres.core.ModelMngCoreService; import com.kamco.cd.kamcoback.upload.dto.UploadDto; import com.kamco.cd.kamcoback.upload.service.UploadService; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.time.LocalDate; import java.util.List; import java.util.UUID; @@ -81,6 +85,30 @@ public class ModelMngService { modelMetricAddReq.setLoss(0); modelMetricAddReq.setIou(0); + ObjectMapper mapper = new ObjectMapper(); + String filePath = addReq.getClsModelPath()+addReq.getClsModelFileName(); + String dataJson = null; + try { + dataJson = Files.readString(Path.of(filePath)); + JsonNode node = mapper.readTree(dataJson); + + double f1_score = node.get("properties").get("f1_score").asDouble(); + double precision = node.get("properties").get("precision").asDouble(); + double recall = node.get("properties").get("recall").asDouble(); + double loss = node.get("properties").get("loss").asDouble(); + double iou = node.get("properties").get("iou").asDouble(); + + modelMetricAddReq.setF1Score(f1_score); + modelMetricAddReq.setPrecision(precision); + modelMetricAddReq.setRecall(recall); + modelMetricAddReq.setLoss(loss); + modelMetricAddReq.setIou(iou); + + } catch (IOException e) { + return new ApiResponseDto.ResponseObj("fail", "JSON파일 오류"); + } + + modelMngCoreService.insertModelResultMetric(modelMetricAddReq); return new ApiResponseDto.ResponseObj(ApiResponseDto.ApiResponseCode.OK, "등록되었습니다."); @@ -121,7 +149,7 @@ public class ModelMngService { int endPos = 20; List files = - FIleChecker.getFilesFromAllDepth(dirPath, "*", "pth,py", 10, "name", startPos, endPos); + FIleChecker.getFilesFromAllDepth(dirPath, "*", "pth,py,json", 10, "name", startPos, endPos); for (Basic dto : files) { // 예: 파일명 출력 및 추가 작업