Loading...
Searching...
No Matches
training_result.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 Artificial Intelligence Techniques, S.L. and Roberto López González
3
4#pragma once
5
8
9namespace opennn
10{
11
12// Listed in reporting priority: convergence, early stopping, then the budgets.
18
20{
21 TrainingResult(const Index = 0);
22 virtual ~TrainingResult() = default;
23
25
26 // Report the restored model's epoch when available; histories retain every epoch.
27 float get_training_error() const;
28
29 // Without restoration, return the latest finite measurement, or NaN if unavailable.
30 float get_validation_error() const;
31
32 Index get_epochs_number() const { return training_error_history.size(); }
33
34 void save(const filesystem::path&) const;
35
36 void print(const string& message = {}) const;
37
38 optional<StoppingCondition> stopping_condition;
39
40 Tensor<string, 2> write_override_results(const Index = 3) const;
41
42 void resize_training_error_history(const Index new_size) { training_error_history.conservativeResize(new_size); }
43
44 void resize_validation_error_history(const Index new_size) { validation_error_history.conservativeResize(new_size); }
45
47
49
51
52 double training_seconds = 0.0;
53
54 float loss = QUIET_NAN;
55
56 optional<Index> restored_epoch;
57};
58
59}
Definition configuration.h:10
StoppingCondition
Definition training_result.h:13
@ MaximumEpochsNumber
Definition training_result.h:17
@ MaximumValidationErrorIncreases
Definition training_result.h:15
@ LossGoal
Definition training_result.h:13
@ MinimumLossDecrease
Definition training_result.h:14
@ MaximumTime
Definition training_result.h:16
constexpr float QUIET_NAN
Definition opennn_types.h:312
Eigen::Matrix< float, Eigen::Dynamic, 1 > VectorR
Definition opennn_types.h:335
VectorR validation_error_history
Definition training_result.h:48
virtual ~TrainingResult()=default
Tensor< string, 2 > write_override_results(const Index=3) const
float loss
Definition training_result.h:54
optional< Index > restored_epoch
Definition training_result.h:56
Index get_epochs_number() const
Definition training_result.h:32
double training_seconds
Definition training_result.h:52
string elapsed_time
Definition training_result.h:50
float get_validation_error() const
void resize_training_error_history(const Index new_size)
Definition training_result.h:42
void print(const string &message={}) const
void save(const filesystem::path &) const
float get_training_error() const
TrainingResult(const Index=0)
VectorR training_error_history
Definition training_result.h:46
void resize_validation_error_history(const Index new_size)
Definition training_result.h:44
optional< StoppingCondition > stopping_condition
Definition training_result.h:38
string write_stopping_condition() const