OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
opennn::GrowingNeurons Class Referencefinal

Selects the optimal hidden neuron count by incrementally growing the number of neurons. More...

#include <growing_neurons.h>

Inheritance diagram for opennn::GrowingNeurons:
[legend]

Public Member Functions

 GrowingNeurons (TrainingStrategy *=nullptr)
 Constructs the algorithm bound to an optional training strategy.
 
void set_default ()
 Restores default search bounds and stopping criteria.
 
void set_neurons_increment (const Index)
 Sets the step size used when growing the number of neurons between trials.
 
NeuronsSelectionResults perform_neurons_selection () override
 Runs the neuron growing procedure until the stopping criterion is met.
 
void from_JSON (const JsonDocument &) override
 Loads algorithm configuration from a JSON document.
 
void to_JSON (JsonWriter &) const override
 Writes algorithm configuration to a JSON writer.
 
- Public Member Functions inherited from opennn::NeuronSelection
 NeuronSelection (TrainingStrategy *=nullptr)
 Constructs the algorithm bound to an optional training strategy.
 
virtual ~NeuronSelection ()=default
 
const TrainingStrategyget_training_strategy () const
 
bool has_training_strategy () const
 
bool get_display () const
 
void set (TrainingStrategy *)
 Binds the algorithm to the given training strategy.
 
void set_training_strategy (TrainingStrategy *new_training_strategy)
 
void set_default ()
 Restores default search bounds and stopping criteria.
 
void set_maximum_neurons (const Index new_maximum_neurons)
 
void set_minimum_neurons (const Index new_minimum_neurons)
 
void set_trials_number (const Index new_trials_number)
 
void set_display (bool new_display)
 
void set_validation_error_goal (const float new_validation_error_goal)
 
void set_maximum_epochs (const Index new_maximum_epochs)
 
void set_maximum_validation_failures (const Index new_maximum_validation_failures)
 
void set_maximum_time (const float new_maximum_time)
 
void check () const
 Verifies that the training strategy and its dependencies are valid for neurons selection.
 
string get_name () const
 
void save (const filesystem::path &) const
 Saves the algorithm configuration to disk.
 
void load (const filesystem::path &)
 Loads the algorithm configuration from disk.
 
virtual void print () const
 Prints a human-readable description of the algorithm to stdout.
 

Additional Inherited Members

- Public Types inherited from opennn::NeuronSelection
enum class  StoppingCondition {
  MaximumTime , SelectionErrorGoal , MaximumEpochs , MaximumSelectionFailures ,
  MaximumNeurons
}
 Reasons the neurons selection loop may terminate. More...
 
- Protected Attributes inherited from opennn::NeuronSelection
TrainingStrategytraining_strategy = nullptr
 
VectorR validation_error_history
 
VectorR training_error_history
 
Index minimum_neurons = 0
 
Index maximum_neurons = 0
 
Index trials_number = 1
 
float validation_error_goal = 0
 
Index maximum_epochs = 10
 
Index maximum_validation_failures = 100
 
float maximum_time = 0
 
bool display = true
 
string name
 

Detailed Description

Selects the optimal hidden neuron count by incrementally growing the number of neurons.

Constructor & Destructor Documentation

◆ GrowingNeurons()

opennn::GrowingNeurons::GrowingNeurons ( TrainingStrategy * = nullptr)

Constructs the algorithm bound to an optional training strategy.

Member Function Documentation

◆ from_JSON()

void opennn::GrowingNeurons::from_JSON ( const JsonDocument & )
overridevirtual

Loads algorithm configuration from a JSON document.

Implements opennn::NeuronSelection.

◆ perform_neurons_selection()

NeuronsSelectionResults opennn::GrowingNeurons::perform_neurons_selection ( )
overridevirtual

Runs the neuron growing procedure until the stopping criterion is met.

Returns
Selection results including the optimal neuron count and error history.

Implements opennn::NeuronSelection.

◆ set_default()

void opennn::GrowingNeurons::set_default ( )

Restores default search bounds and stopping criteria.

◆ set_neurons_increment()

void opennn::GrowingNeurons::set_neurons_increment ( const Index )

Sets the step size used when growing the number of neurons between trials.

◆ to_JSON()

void opennn::GrowingNeurons::to_JSON ( JsonWriter & ) const
overridevirtual

Writes algorithm configuration to a JSON writer.

Implements opennn::NeuronSelection.