74 void save(
const filesystem::path&)
const;
77 void load(
const filesystem::path&);
void set(TrainingStrategy *)
Binds the algorithm to the given training strategy.
virtual NeuronsSelectionResults perform_neurons_selection()=0
Runs the neurons selection algorithm until a stopping criterion is met.
Index minimum_neurons
Definition neuron_selection.h:90
void set_trials_number(const Index new_trials_number)
Definition neuron_selection.h:46
void set_maximum_epochs(const Index new_maximum_epochs)
Definition neuron_selection.h:51
void set_minimum_neurons(const Index new_minimum_neurons)
Definition neuron_selection.h:45
void check() const
Verifies that the training strategy and its dependencies are valid for neurons selection.
void set_maximum_neurons(const Index new_maximum_neurons)
Definition neuron_selection.h:44
void set_display(bool new_display)
Definition neuron_selection.h:48
float maximum_time
Definition neuron_selection.h:102
void load(const filesystem::path &)
Loads the algorithm configuration from disk.
void set_default()
Restores default search bounds and stopping criteria.
VectorR training_error_history
Definition neuron_selection.h:88
virtual void print() const
Prints a human-readable description of the algorithm to stdout.
Definition neuron_selection.h:80
void set_training_strategy(TrainingStrategy *new_training_strategy)
Definition neuron_selection.h:39
virtual void to_JSON(JsonWriter &) const =0
Writes algorithm configuration to a JSON writer.
void set_validation_error_goal(const float new_validation_error_goal)
Definition neuron_selection.h:50
bool display
Definition neuron_selection.h:104
void save(const filesystem::path &) const
Saves the algorithm configuration to disk.
Index maximum_validation_failures
Definition neuron_selection.h:100
StoppingCondition
Reasons the neurons selection loop may terminate.
Definition neuron_selection.h:24
@ SelectionErrorGoal
Definition neuron_selection.h:24
@ MaximumSelectionFailures
Definition neuron_selection.h:24
@ MaximumEpochs
Definition neuron_selection.h:24
@ MaximumTime
Definition neuron_selection.h:24
@ MaximumNeurons
Definition neuron_selection.h:24
Index maximum_neurons
Definition neuron_selection.h:92
bool get_display() const
Definition neuron_selection.h:34
NeuronSelection(TrainingStrategy *=nullptr)
Constructs the algorithm bound to an optional training strategy.
void set_maximum_validation_failures(const Index new_maximum_validation_failures)
Definition neuron_selection.h:52
bool has_training_strategy() const
Definition neuron_selection.h:32
virtual void from_JSON(const JsonDocument &)=0
Loads algorithm configuration from a JSON document.
Index maximum_epochs
Definition neuron_selection.h:98
virtual ~NeuronSelection()=default
TrainingStrategy * training_strategy
Definition neuron_selection.h:84
string get_name() const
Definition neuron_selection.h:62
string name
Definition neuron_selection.h:106
const TrainingStrategy * get_training_strategy() const
Definition neuron_selection.h:30
Index trials_number
Definition neuron_selection.h:94
float validation_error_goal
Definition neuron_selection.h:96
void set_maximum_time(const float new_maximum_time)
Definition neuron_selection.h:53
VectorR validation_error_history
Definition neuron_selection.h:86
High-level orchestrator pairing a Loss with an Optimizer for a network/dataset.
Definition training_strategy.h:24
Definition adaptive_moment_estimation.h:14
Matrix< float, Dynamic, 1 > VectorR
Definition pch.h:181
Matrix< Index, Dynamic, 1 > VectorI
Definition pch.h:182
Aggregated results of a neurons selection run including the optimal neuron count and error histories.
Definition neuron_selection.h:111
VectorR validation_error_history
Definition neuron_selection.h:136
Index optimal_neurons_number
Definition neuron_selection.h:128
void resize_history(const Index new_size)
Resizes the recorded error and neuron-count histories.
void print() const
Prints a summary of the selection results to stdout.
float optimum_training_error
Definition neuron_selection.h:138
VectorI neurons_number_history
Definition neuron_selection.h:126
NeuronsSelectionResults(const Index maximum_epochs=0)
Builds an empty results structure able to hold up to the given number of epochs.
float optimum_validation_error
Definition neuron_selection.h:140
string elapsed_time
Definition neuron_selection.h:146
NeuronSelection::StoppingCondition stopping_condition
Definition neuron_selection.h:144
VectorR training_error_history
Definition neuron_selection.h:134
string write_stopping_condition() const
Returns a human-readable string describing the stopping condition that ended the run.
VectorR optimal_parameters
Definition neuron_selection.h:130
History and final metrics produced by a training run.
Definition optimizer.h:204