미사용 소스 정리
This commit is contained in:
@@ -1,374 +0,0 @@
|
||||
package com.kamco.cd.training.model.dto;
|
||||
|
||||
import com.kamco.cd.training.common.utils.interfaces.JsonFormatDttm;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
public class ModelMngDto {
|
||||
|
||||
@Schema(name = "Detail", description = "모델 상세 정보")
|
||||
@Getter
|
||||
@Builder
|
||||
public static class Detail {
|
||||
private String uuid;
|
||||
private String modelVer;
|
||||
private String hyperVer;
|
||||
private String epochVer;
|
||||
private String processStep;
|
||||
private String statusCd;
|
||||
private String statusText;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime trainStartDttm;
|
||||
|
||||
private Integer epochCnt;
|
||||
private String datasetRatio;
|
||||
private Integer bestEpoch;
|
||||
private Integer confirmedBestEpoch;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime step1EndDttm;
|
||||
|
||||
private ZonedDateTime step1Duration;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime step2EndDttm;
|
||||
|
||||
private ZonedDateTime step2Duration;
|
||||
private Integer progressRate;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime createdDttm;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime updatedDttm;
|
||||
|
||||
private String modelPath;
|
||||
private String errorMsg;
|
||||
}
|
||||
|
||||
@Schema(name = "TrainListRes", description = "학습 모델 목록 응답")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class TrainListRes {
|
||||
private String uuid;
|
||||
private String modelVer;
|
||||
private String status;
|
||||
private String processStep;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime trainStartDttm;
|
||||
|
||||
private Integer progressRate;
|
||||
private Integer epochCnt;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime step1EndDttm;
|
||||
|
||||
private ZonedDateTime step1Duration;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime step2EndDttm;
|
||||
|
||||
private ZonedDateTime step2Duration;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime createdDttm;
|
||||
|
||||
private String errorMsg;
|
||||
|
||||
private Boolean canResume;
|
||||
private Integer lastCheckpointEpoch;
|
||||
}
|
||||
|
||||
@Schema(name = "FormConfigRes", description = "학습 설정 통합 조회 응답")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class FormConfigRes {
|
||||
private Boolean isTrainAvailable;
|
||||
private List<HyperParamInfo> hyperParams;
|
||||
private List<DatasetInfo> datasets;
|
||||
private String runningModelUuid;
|
||||
}
|
||||
|
||||
@Schema(name = "HyperParamInfo", description = "하이퍼파라미터 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class HyperParamInfo {
|
||||
@Schema(description = "하이퍼파라미터 버전", example = "V3.99.251221.120518")
|
||||
private String hyperVer;
|
||||
|
||||
// Important
|
||||
@Schema(description = "백본", example = "large")
|
||||
private String backbone;
|
||||
|
||||
@Schema(description = "입력 사이즈", example = "256,256")
|
||||
private String inputSize;
|
||||
|
||||
@Schema(description = "크롭 사이즈", example = "256,256")
|
||||
private String cropSize;
|
||||
|
||||
@Schema(description = "에폭 수", example = "200")
|
||||
private Integer epochCnt;
|
||||
|
||||
@Schema(description = "배치 사이즈", example = "16")
|
||||
private Integer batchSize;
|
||||
|
||||
// Architecture
|
||||
@Schema(description = "Drop Path Rate", example = "0.3")
|
||||
private Double dropPathRate;
|
||||
|
||||
@Schema(description = "Frozen Stages", example = "-1")
|
||||
private Integer frozenStages;
|
||||
|
||||
@Schema(description = "Neck Policy", example = "abs_diff")
|
||||
private String neckPolicy;
|
||||
|
||||
@Schema(description = "Decoder Channels", example = "512,256,128,64")
|
||||
private String decoderChannels;
|
||||
|
||||
@Schema(description = "Class Weight", example = "1,1")
|
||||
private String classWeight;
|
||||
|
||||
@Schema(description = "레이어 수", example = "24")
|
||||
private Integer numLayers;
|
||||
|
||||
// Optimization
|
||||
@Schema(description = "Learning Rate", example = "0.00006")
|
||||
private Double learningRate;
|
||||
|
||||
@Schema(description = "Weight Decay", example = "0.05")
|
||||
private Double weightDecay;
|
||||
|
||||
@Schema(description = "Layer Decay Rate", example = "0.9")
|
||||
private Double layerDecayRate;
|
||||
|
||||
@Schema(description = "DDP Unused Params 찾기", example = "true")
|
||||
private Boolean ddpFindUnusedParams;
|
||||
|
||||
@Schema(description = "Ignore Index", example = "255")
|
||||
private Integer ignoreIndex;
|
||||
|
||||
// Data
|
||||
@Schema(description = "Train Workers", example = "16")
|
||||
private Integer trainNumWorkers;
|
||||
|
||||
@Schema(description = "Val Workers", example = "8")
|
||||
private Integer valNumWorkers;
|
||||
|
||||
@Schema(description = "Test Workers", example = "8")
|
||||
private Integer testNumWorkers;
|
||||
|
||||
@Schema(description = "Train Shuffle", example = "true")
|
||||
private Boolean trainShuffle;
|
||||
|
||||
@Schema(description = "Train Persistent", example = "true")
|
||||
private Boolean trainPersistent;
|
||||
|
||||
@Schema(description = "Val Persistent", example = "true")
|
||||
private Boolean valPersistent;
|
||||
|
||||
// Evaluation
|
||||
@Schema(description = "Metrics", example = "mFscore,mIoU")
|
||||
private String metrics;
|
||||
|
||||
@Schema(description = "Save Best", example = "changed_fscore")
|
||||
private String saveBest;
|
||||
|
||||
@Schema(description = "Save Best Rule", example = "greater")
|
||||
private String saveBestRule;
|
||||
|
||||
@Schema(description = "Val Interval", example = "10")
|
||||
private Integer valInterval;
|
||||
|
||||
@Schema(description = "Log Interval", example = "400")
|
||||
private Integer logInterval;
|
||||
|
||||
@Schema(description = "Vis Interval", example = "1")
|
||||
private Integer visInterval;
|
||||
|
||||
// Hardware
|
||||
@Schema(description = "GPU 수", example = "4")
|
||||
private Integer gpuCnt;
|
||||
|
||||
@Schema(description = "GPU IDs", example = "0,1,2,3")
|
||||
private String gpuIds;
|
||||
|
||||
@Schema(description = "Master Port", example = "1122")
|
||||
private Integer masterPort;
|
||||
|
||||
// Augmentation
|
||||
@Schema(description = "Rotation 확률", example = "0.5")
|
||||
private Double rotProb;
|
||||
|
||||
@Schema(description = "Flip 확률", example = "0.5")
|
||||
private Double flipProb;
|
||||
|
||||
@Schema(description = "Rotation 각도", example = "-20,20")
|
||||
private String rotDegree;
|
||||
|
||||
@Schema(description = "Exchange 확률", example = "0.5")
|
||||
private Double exchangeProb;
|
||||
|
||||
@Schema(description = "Brightness Delta", example = "10")
|
||||
private Integer brightnessDelta;
|
||||
|
||||
@Schema(description = "Contrast Range", example = "0.8,1.2")
|
||||
private String contrastRange;
|
||||
|
||||
@Schema(description = "Saturation Range", example = "0.8,1.2")
|
||||
private String saturationRange;
|
||||
|
||||
@Schema(description = "Hue Delta", example = "10")
|
||||
private Integer hueDelta;
|
||||
|
||||
// Legacy
|
||||
private Double dropoutRatio;
|
||||
private Integer cnnFilterCnt;
|
||||
|
||||
// Common
|
||||
@Schema(description = "메모", example = "안녕하세요 캠코담당자 입니다. 하이퍼파라미터 신규등록합니다")
|
||||
private String memo;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime createdDttm;
|
||||
}
|
||||
|
||||
@Schema(name = "DatasetInfo", description = "데이터셋 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class DatasetInfo {
|
||||
private Long id;
|
||||
private String title;
|
||||
private String groupTitle;
|
||||
private Long totalItems;
|
||||
private String totalSize;
|
||||
private Map<String, Integer> classCounts;
|
||||
private String memo;
|
||||
|
||||
@JsonFormatDttm private ZonedDateTime createdDttm;
|
||||
}
|
||||
|
||||
@Schema(name = "TrainStartReq", description = "학습 시작 요청")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class TrainStartReq {
|
||||
@NotBlank(message = "하이퍼파라미터 버전은 필수입니다")
|
||||
@Schema(example = "V3.99.251221.120518")
|
||||
private String hyperVer;
|
||||
|
||||
@NotEmpty(message = "데이터셋은 최소 1개 이상 선택해야 합니다")
|
||||
private List<Long> datasetIds;
|
||||
|
||||
@NotNull(message = "에폭 수는 필수입니다")
|
||||
@jakarta.validation.constraints.Min(value = 1, message = "에폭 수는 최소 1 이상이어야 합니다")
|
||||
@jakarta.validation.constraints.Max(value = 200, message = "에폭 수는 최대 200까지 설정 가능합니다")
|
||||
@Schema(example = "200")
|
||||
private Integer epoch;
|
||||
|
||||
@Schema(example = "7:2:1", description = "데이터 분할 비율 (Training:Validation:Test)")
|
||||
private String datasetRatio;
|
||||
}
|
||||
|
||||
@Schema(name = "TrainStartRes", description = "학습 시작 응답")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class TrainStartRes {
|
||||
private String uuid;
|
||||
private String status;
|
||||
}
|
||||
|
||||
@Schema(name = "ResumeInfo", description = "학습 재시작 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class ResumeInfo {
|
||||
private Boolean canResume;
|
||||
private Integer lastEpoch;
|
||||
private Integer totalEpoch;
|
||||
private String checkpointPath;
|
||||
@JsonFormatDttm private ZonedDateTime failedAt;
|
||||
}
|
||||
|
||||
@Schema(name = "ResumeRequest", description = "학습 재시작 요청")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ResumeRequest {
|
||||
@NotNull(message = "재시작 Epoch는 필수입니다")
|
||||
private Integer resumeFromEpoch;
|
||||
|
||||
private Integer newTotalEpoch;
|
||||
}
|
||||
|
||||
@Schema(name = "ResumeResponse", description = "학습 재시작 응답")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class ResumeResponse {
|
||||
private String uuid;
|
||||
private String status;
|
||||
private Integer resumedFromEpoch;
|
||||
}
|
||||
|
||||
@Schema(name = "BestEpochRequest", description = "Best Epoch 설정 요청")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class BestEpochRequest {
|
||||
@NotNull(message = "Best Epoch는 필수입니다")
|
||||
private Integer bestEpoch;
|
||||
|
||||
private String reason;
|
||||
}
|
||||
|
||||
@Schema(name = "BestEpochResponse", description = "Best Epoch 설정 응답")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class BestEpochResponse {
|
||||
private String uuid;
|
||||
private Integer bestEpoch;
|
||||
private Integer confirmedBestEpoch;
|
||||
private Integer previousBestEpoch;
|
||||
}
|
||||
|
||||
@Schema(name = "EpochMetric", description = "Epoch별 성능 지표")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class EpochMetric {
|
||||
private Integer epoch;
|
||||
private Double mIoU;
|
||||
private Double mFscore;
|
||||
private Double loss;
|
||||
private Boolean isBest;
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
package com.kamco.cd.training.model.dto;
|
||||
|
||||
import com.kamco.cd.training.common.utils.interfaces.JsonFormatDttm;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.ZonedDateTime;
|
||||
import lombok.Getter;
|
||||
|
||||
public class ModelVerDto {
|
||||
|
||||
@Schema(name = "modelVer Basic", description = "모델버전 엔티티 기본 정보")
|
||||
@Getter
|
||||
public static class Basic {
|
||||
|
||||
private final Long id;
|
||||
private final Long modelUid;
|
||||
|
||||
private final String modelCate;
|
||||
private final String modelVer;
|
||||
|
||||
private final String usedState;
|
||||
private final String modelState;
|
||||
private final Double qualityProb;
|
||||
private final String deployState;
|
||||
private final String modelPath;
|
||||
|
||||
@JsonFormatDttm private final ZonedDateTime createdDttm;
|
||||
private final Long createdUid;
|
||||
|
||||
@JsonFormatDttm private final ZonedDateTime updatedDttm;
|
||||
private final Long updatedUid;
|
||||
|
||||
public Basic(
|
||||
Long id,
|
||||
Long modelUid,
|
||||
String modelCate,
|
||||
String modelVer,
|
||||
String usedState,
|
||||
String modelState,
|
||||
Double qualityProb,
|
||||
String deployState,
|
||||
String modelPath,
|
||||
ZonedDateTime createdDttm,
|
||||
Long createdUid,
|
||||
ZonedDateTime updatedDttm,
|
||||
Long updatedUid) {
|
||||
this.id = id;
|
||||
this.modelUid = modelUid;
|
||||
this.modelCate = modelCate;
|
||||
this.modelVer = modelVer;
|
||||
this.usedState = usedState;
|
||||
this.modelState = modelState;
|
||||
this.qualityProb = qualityProb;
|
||||
this.deployState = deployState;
|
||||
this.modelPath = modelPath;
|
||||
this.createdDttm = createdDttm;
|
||||
this.createdUid = createdUid;
|
||||
this.updatedDttm = updatedDttm;
|
||||
this.updatedUid = updatedUid;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user