하이퍼파라미터 기능 추가

This commit is contained in:
2026-02-03 14:31:53 +09:00
parent e2757d3ca0
commit 3a8d6e3ef0
18 changed files with 946 additions and 688 deletions

View File

@@ -1,5 +1,6 @@
package com.kamco.cd.training.postgres.entity;
import com.kamco.cd.training.hyperparam.dto.HyperParamDto;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
@@ -28,7 +29,7 @@ public class ModelHyperParamEntity {
@NotNull
@UuidGenerator
@Column(name = "uuid", nullable = false, updatable = false)
private UUID uuid;
private UUID uuid = UUID.randomUUID();
@Size(max = 50)
@NotNull
@@ -259,8 +260,7 @@ public class ModelHyperParamEntity {
// -------------------------
/** Default: 4 */
@NotNull
@Column(name = "gpu_cnt", nullable = false)
@Column(name = "gpu_cnt")
private Integer gpuCnt;
/** Default: 0,1,2,3 */
@@ -289,9 +289,86 @@ public class ModelHyperParamEntity {
@Column(name = "created_dttm", nullable = false)
private ZonedDateTime createdDttm = ZonedDateTime.now();
@Column(name = "cnn_filter_cnt")
private Integer cnnFilterCnt;
@NotNull
@Column(name = "created_uid", nullable = false)
private Long createdUid;
@ColumnDefault("CURRENT_TIMESTAMP")
@Column(name = "updated_dttm")
private ZonedDateTime updatedDttm;
@Column(name = "updated_uid")
private Long updatedUid;
@ColumnDefault("CURRENT_TIMESTAMP")
@Column(name = "last_used_dttm")
private ZonedDateTime lastUsedDttm;
@Column(name = "m1_use_cnt")
private Long m1UseCnt = 0L;
@Column(name = "m2_use_cnt")
private Long m2UseCnt = 0L;
@Column(name = "m3_use_cnt")
private Long m3UseCnt = 0L;
@OneToMany(mappedBy = "hyperParams", fetch = FetchType.LAZY)
private Set<ModelTrainMasterEntity> trainMasters = new LinkedHashSet<>();
public HyperParamDto.Basic toDto() {
return new HyperParamDto.Basic(
this.id,
this.uuid,
this.hyperVer,
this.backbone,
this.inputSize,
this.cropSize,
this.epochCnt,
this.batchSize,
this.dropPathRate,
this.frozenStages,
this.neckPolicy,
this.decoderChannels,
this.classWeight,
this.numLayers,
this.learningRate,
this.weightDecay,
this.layerDecayRate,
this.ddpFindUnusedParams,
this.ignoreIndex,
this.trainNumWorkers,
this.valNumWorkers,
this.testNumWorkers,
this.trainShuffle,
this.trainPersistent,
this.valPersistent,
this.metrics,
this.saveBest,
this.saveBestRule,
this.valInterval,
this.logInterval,
this.visInterval,
this.rotProb,
this.flipProb,
this.rotDegree,
this.exchangeProb,
this.brightnessDelta,
this.contrastRange,
this.saturationRange,
this.hueDelta,
this.gpuCnt,
this.gpuIds,
this.masterPort,
this.memo,
this.delYn,
this.createdDttm,
this.createdUid,
this.updatedDttm,
this.updatedUid,
this.lastUsedDttm,
this.m1UseCnt,
this.m2UseCnt,
this.m3UseCnt);
}
}

View File

@@ -12,7 +12,6 @@ import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.Instant;
import java.time.ZonedDateTime;
import java.util.UUID;
import lombok.Getter;
@@ -112,7 +111,7 @@ public class ModelTrainMasterEntity {
private Integer progressRate;
@Column(name = "stop_dttm")
private Instant stopDttm;
private ZonedDateTime stopDttm;
@Column(name = "confirmed_best_epoch")
private Integer confirmedBestEpoch;
@@ -125,7 +124,7 @@ public class ModelTrainMasterEntity {
private String errorMsg;
@Column(name = "step2_start_dttm")
private Instant step2StartDttm;
private ZonedDateTime step2StartDttm;
@Size(max = 1000)
@Column(name = "train_log_path", length = 1000)