fix(backend): store error rate for segmentation training runs
setCer() was called for recognition training but not for segmentation. The OCR service now returns cer = 1 - accuracy for segtrain; persist it so the admin panel can display Fehlerrate for both training types. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -162,11 +162,12 @@ public class OcrTrainingService {
|
|||||||
return Objects.requireNonNull(txTemplate.execute(status -> {
|
return Objects.requireNonNull(txTemplate.execute(status -> {
|
||||||
run.setStatus(TrainingStatus.DONE);
|
run.setStatus(TrainingStatus.DONE);
|
||||||
run.setCompletedAt(Instant.now());
|
run.setCompletedAt(Instant.now());
|
||||||
|
run.setCer(result.cer());
|
||||||
run.setLoss(result.loss());
|
run.setLoss(result.loss());
|
||||||
run.setAccuracy(result.accuracy());
|
run.setAccuracy(result.accuracy());
|
||||||
run.setEpochs(result.epochs());
|
run.setEpochs(result.epochs());
|
||||||
OcrTrainingRun updated = trainingRunRepository.save(run);
|
OcrTrainingRun updated = trainingRunRepository.save(run);
|
||||||
log.info("[trainingRun={}] Segmentation training completed — epochs={}", runId, result.epochs());
|
log.info("[trainingRun={}] Segmentation training completed — cer={} epochs={}", runId, result.cer(), result.epochs());
|
||||||
return updated;
|
return updated;
|
||||||
}));
|
}));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user