학습결과 파일 베스트 에폭 제외 삭제 추가, 납품데이터 등록 비동기 수정

This commit is contained in:
2026-03-27 09:32:49 +09:00
parent 04eddfce54
commit 50c965cb79
14 changed files with 884 additions and 204 deletions

View File

@@ -84,18 +84,35 @@ public class ModelTrainMetricsJobService {
for (CSVRecord record : parser) {
int epoch = Integer.parseInt(record.get("Epoch"));
float aAcc = Float.parseFloat(record.get("aAcc"));
float mFscore = Float.parseFloat(record.get("mFscore"));
float mPrecision = Float.parseFloat(record.get("mPrecision"));
float mRecall = Float.parseFloat(record.get("mRecall"));
float mIoU = Float.parseFloat(record.get("mIoU"));
float mAcc = Float.parseFloat(record.get("mAcc"));
float changed_fscore = Float.parseFloat(record.get("changed_fscore"));
float changed_precision = Float.parseFloat(record.get("changed_precision"));
float changed_recall = Float.parseFloat(record.get("changed_recall"));
float unchanged_fscore = Float.parseFloat(record.get("unchanged_fscore"));
float unchanged_precision = Float.parseFloat(record.get("unchanged_precision"));
float unchanged_recall = Float.parseFloat(record.get("unchanged_recall"));
float aAcc = parseFloatSafe(record.get("aAcc"));
float mFscore = parseFloatSafe(record.get("mFscore"));
float mPrecision = parseFloatSafe(record.get("mPrecision"));
float mRecall = parseFloatSafe(record.get("mRecall"));
float mIoU = parseFloatSafe(record.get("mIoU"));
float mAcc = parseFloatSafe(record.get("mAcc"));
float changed_fscore = parseFloatSafe(record.get("changed_fscore"));
float changed_precision = parseFloatSafe(record.get("changed_precision"));
float changed_recall = parseFloatSafe(record.get("changed_recall"));
float unchanged_fscore = parseFloatSafe(record.get("unchanged_fscore"));
float unchanged_precision = parseFloatSafe(record.get("unchanged_precision"));
float unchanged_recall = parseFloatSafe(record.get("unchanged_recall"));
// int epoch = Integer.parseInt(record.get("Epoch"));
// float aAcc = Float.parseFloat(record.get("aAcc"));
// float mFscore = Float.parseFloat(record.get("mFscore"));
// float mPrecision = Float.parseFloat(record.get("mPrecision"));
// float mRecall = Float.parseFloat(record.get("mRecall"));
// float mIoU = Float.parseFloat(record.get("mIoU"));
// float mAcc = Float.parseFloat(record.get("mAcc"));
// float changed_fscore = Float.parseFloat(record.get("changed_fscore"));
// float changed_precision = Float.parseFloat(record.get("changed_precision"));
// float changed_recall = Float.parseFloat(record.get("changed_recall"));
// float unchanged_fscore = Float.parseFloat(record.get("unchanged_fscore"));
// float unchanged_precision =
// Float.parseFloat(record.get("unchanged_precision"));
// float unchanged_recall = Float.parseFloat(record.get("unchanged_recall"));
batchArgs.add(
new Object[] {
@@ -153,4 +170,23 @@ public class ModelTrainMetricsJobService {
modelInfo.getModelId(), "step1");
}
}
private Float parseFloatSafe(String value) {
try {
if (value == null) return null;
value = value.trim();
if (value.isEmpty()) return null;
if (value.equalsIgnoreCase("nan")) return null;
float f = Float.parseFloat(value);
return Float.isNaN(f) ? null : f;
} catch (Exception e) {
return null;
}
}
}