학습데이터 다운로드 파일 정보 API 추가
This commit is contained in:
@@ -5,6 +5,7 @@ import com.kamco.cd.training.config.api.ApiResponseDto;
|
|||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
||||||
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelFileInfo;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
||||||
@@ -282,4 +283,25 @@ public class ModelTrainDetailApiController {
|
|||||||
|
|
||||||
return rangeDownloadResponder.buildZipResponse(zipPath, info.getModelVer() + ".zip", request);
|
return rangeDownloadResponder.buildZipResponse(zipPath, info.getModelVer() + ".zip", request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "모델관리 > 모델 상세 > 파일 정보", description = "모델 상세 > 파일 정보 API")
|
||||||
|
@ApiResponses(
|
||||||
|
value = {
|
||||||
|
@ApiResponse(
|
||||||
|
responseCode = "200",
|
||||||
|
description = "조회 성공",
|
||||||
|
content =
|
||||||
|
@Content(
|
||||||
|
mediaType = "application/json",
|
||||||
|
schema = @Schema(implementation = TransferDetailDto.class))),
|
||||||
|
@ApiResponse(responseCode = "404", description = "데이터셋을 찾을 수 없음", content = @Content),
|
||||||
|
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||||
|
})
|
||||||
|
@GetMapping("/file-info/{uuid}")
|
||||||
|
public ApiResponseDto<ModelFileInfo> getModelTrainFileInfo(
|
||||||
|
@Parameter(description = "모델 uuid", example = "95cb116c-380a-41c0-98d8-4d1142f15bbf")
|
||||||
|
@PathVariable
|
||||||
|
UUID uuid) {
|
||||||
|
return ApiResponseDto.ok(modelTrainDetailService.getModelTrainFileInfo(uuid));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -245,4 +245,13 @@ public class ModelTrainDetailDto {
|
|||||||
private Float iou;
|
private Float iou;
|
||||||
private Float accuracy;
|
private Float accuracy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public static class ModelFileInfo {
|
||||||
|
private Boolean fileExistsYn;
|
||||||
|
private String fileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.kamco.cd.training.model.dto.ModelTrainDetailDto.DetailSummary;
|
|||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
||||||
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelFileInfo;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
||||||
@@ -116,4 +117,8 @@ public class ModelTrainDetailService {
|
|||||||
public ModelBestEpoch getModelTrainBestEpoch(UUID uuid) {
|
public ModelBestEpoch getModelTrainBestEpoch(UUID uuid) {
|
||||||
return modelTrainDetailCoreService.getModelTrainBestEpoch(uuid);
|
return modelTrainDetailCoreService.getModelTrainBestEpoch(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModelFileInfo getModelTrainFileInfo(UUID uuid) {
|
||||||
|
return modelTrainDetailCoreService.getModelTrainFileInfo(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.kamco.cd.training.model.dto.ModelTrainDetailDto.DetailSummary;
|
|||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
||||||
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelFileInfo;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
||||||
@@ -97,4 +98,8 @@ public class ModelTrainDetailCoreService {
|
|||||||
public ModelBestEpoch getModelTrainBestEpoch(UUID uuid) {
|
public ModelBestEpoch getModelTrainBestEpoch(UUID uuid) {
|
||||||
return modelDetailRepository.getModelTrainBestEpoch(uuid);
|
return modelDetailRepository.getModelTrainBestEpoch(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModelFileInfo getModelTrainFileInfo(UUID uuid) {
|
||||||
|
return modelDetailRepository.getModelTrainFileInfo(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.kamco.cd.training.model.dto.ModelTrainDetailDto.DetailSummary;
|
|||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
||||||
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelFileInfo;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
||||||
@@ -34,4 +35,6 @@ public interface ModelDetailRepositoryCustom {
|
|||||||
List<ModelTestMetrics> getModelTestMetricResult(UUID uuid);
|
List<ModelTestMetrics> getModelTestMetricResult(UUID uuid);
|
||||||
|
|
||||||
ModelBestEpoch getModelTrainBestEpoch(UUID uuid);
|
ModelBestEpoch getModelTrainBestEpoch(UUID uuid);
|
||||||
|
|
||||||
|
ModelFileInfo getModelTrainFileInfo(UUID uuid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.kamco.cd.training.model.dto.ModelTrainDetailDto.DetailSummary;
|
|||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.HyperSummary;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.MappingDataset;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelBestEpoch;
|
||||||
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelFileInfo;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTestMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelTrainMetrics;
|
||||||
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
import com.kamco.cd.training.model.dto.ModelTrainDetailDto.ModelValidationMetrics;
|
||||||
@@ -269,4 +270,17 @@ public class ModelDetailRepositoryImpl implements ModelDetailRepositoryCustom {
|
|||||||
modelMetricsTrainEntity.epoch.eq(modelMasterEntity.getBestEpoch()))
|
modelMetricsTrainEntity.epoch.eq(modelMasterEntity.getBestEpoch()))
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelFileInfo getModelTrainFileInfo(UUID uuid) {
|
||||||
|
return queryFactory
|
||||||
|
.select(
|
||||||
|
Projections.constructor(
|
||||||
|
ModelFileInfo.class,
|
||||||
|
modelMasterEntity.step2MetricSaveYn,
|
||||||
|
modelMasterEntity.modelVer))
|
||||||
|
.from(modelMasterEntity)
|
||||||
|
.where(modelMasterEntity.uuid.eq(uuid))
|
||||||
|
.fetchOne();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user