daniel 작업 내용 커밋
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package com.kamco.cd.training.train;
|
||||
|
||||
import com.kamco.cd.training.config.api.ApiResponseDto;
|
||||
import com.kamco.cd.training.train.dto.TrainingMetricsDto;
|
||||
import com.kamco.cd.training.train.service.DataSetCountersService;
|
||||
import com.kamco.cd.training.train.service.TestJobService;
|
||||
import com.kamco.cd.training.train.service.TrainJobService;
|
||||
import com.kamco.cd.training.train.service.TrainingMetricsService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
@@ -29,6 +31,7 @@ public class TrainApiController {
|
||||
private final TrainJobService trainJobService;
|
||||
private final TestJobService testJobService;
|
||||
private final DataSetCountersService dataSetCountersService;
|
||||
private final TrainingMetricsService trainingMetricsService;
|
||||
|
||||
@Operation(summary = "학습 실행", description = "학습 실행 API")
|
||||
@ApiResponses(
|
||||
@@ -236,4 +239,63 @@ public class TrainApiController {
|
||||
trainJobService.status(uuid, modelId);
|
||||
return ApiResponseDto.ok("ok");
|
||||
}
|
||||
|
||||
@Operation(
|
||||
summary = "하이퍼파라미터 기반 학습 메트릭 조회",
|
||||
description =
|
||||
"하이퍼파라미터 UUID로 해당 파라미터를 사용하는 모델의 학습 메트릭을 조회합니다. "
|
||||
+ "val.csv와 train.csv를 우선 사용하며, 없을 경우 processing.log를 파싱합니다.")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
responseCode = "200",
|
||||
description = "조회 성공",
|
||||
content =
|
||||
@Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = TrainingMetricsDto.Response.class))),
|
||||
@ApiResponse(
|
||||
responseCode = "404",
|
||||
description = "하이퍼파라미터 또는 모델을 찾을 수 없음",
|
||||
content = @Content),
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping(
|
||||
path = "/metrics/hyper-param/{hyperParamUuid}",
|
||||
produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ApiResponseDto<TrainingMetricsDto.Response> getMetricsByHyperParam(
|
||||
@Parameter(description = "하이퍼파라미터 UUID", example = "57fc9170-64c1-4128-aa7b-0657f08d6d10")
|
||||
@PathVariable
|
||||
UUID hyperParamUuid) {
|
||||
TrainingMetricsDto.Response response =
|
||||
trainingMetricsService.getTrainingMetricsByHyperParam(hyperParamUuid);
|
||||
return ApiResponseDto.ok(response);
|
||||
}
|
||||
|
||||
@Operation(
|
||||
summary = "모델 기반 학습 메트릭 조회",
|
||||
description =
|
||||
"모델 UUID로 해당 모델의 학습 메트릭을 조회합니다. "
|
||||
+ "val.csv와 train.csv를 우선 사용하며, 없을 경우 processing.log를 파싱합니다.")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
responseCode = "200",
|
||||
description = "조회 성공",
|
||||
content =
|
||||
@Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = TrainingMetricsDto.Response.class))),
|
||||
@ApiResponse(responseCode = "404", description = "모델을 찾을 수 없음", content = @Content),
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping(path = "/metrics/model/{modelUuid}", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ApiResponseDto<TrainingMetricsDto.Response> getMetricsByModel(
|
||||
@Parameter(description = "모델 UUID", example = "b34a2d18-11e6-4b1b-a156-cd314bec45bb")
|
||||
@PathVariable
|
||||
UUID modelUuid) {
|
||||
TrainingMetricsDto.Response response =
|
||||
trainingMetricsService.getTrainingMetricsByModelUuid(modelUuid);
|
||||
return ApiResponseDto.ok(response);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user