NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::WeightOptimizerCommonPropertiesAdam Class Reference

Class implementing common properties of an Adam weight optimizer model. More...

#include <weight_optimizer.h>

Inheritance diagram for nest::WeightOptimizerCommonPropertiesAdam:
[legend]
Collaboration diagram for nest::WeightOptimizerCommonPropertiesAdam:
[legend]

Public Member Functions

 WeightOptimizerCommonPropertiesAdam ()
 Default constructor.
 
 WeightOptimizerCommonPropertiesAdam (const WeightOptimizerCommonPropertiesAdam &)=default
 Copy constructor.
 
WeightOptimizerCommonPropertiesAdam & operator= (const WeightOptimizerCommonPropertiesAdam &)=delete
 Assignment operator.
 
WeightOptimizerCommonProperties * clone () const override
 Clone constructor.
 
WeightOptimizer * get_optimizer () const override
 Get optimizer.
 
void get_status (Dictionary &d) const override
 Get parameter dictionary.
 
void set_status (const Dictionary &d) override
 Update parameters in parameter dictionary.
 
std::string get_name () const override
 Get optimizer name.
 
- Public Member Functions inherited from nest::WeightOptimizerCommonProperties
 WeightOptimizerCommonProperties ()
 Default constructor.
 
virtual ~WeightOptimizerCommonProperties ()
 Destructor.
 
 WeightOptimizerCommonProperties (const WeightOptimizerCommonProperties &)
 Copy constructor.
 
WeightOptimizer & operator= (const WeightOptimizer &)=delete
 Assignment operator.
 
double get_Wmin () const
 Get minimal value for synaptic weight.
 
double get_Wmax () const
 Get maximal value for synaptic weight.
 

Private Attributes

double beta_1_
 Exponential decay rate for first moment estimate.
 
double beta_2_
 Exponential decay rate for second moment estimate.
 
double epsilon_
 Small constant for numerical stability.
 

Friends

class WeightOptimizerAdam
 Friend class for Adam weight optimizer model.
 

Additional Inherited Members

- Public Attributes inherited from nest::WeightOptimizerCommonProperties
size_t batch_size_
 Size of an optimization batch.
 
double eta_
 Common learning rate for all synapses.
 
double eta_first_change_
 First non-default learning rate.
 
long eta_change_count_
 Count of learning rate changes so far in the simulation to identify the first change.
 
double Wmin_
 Minimal value for synaptic weight.
 
double Wmax_
 Maximal value for synaptic weight.
 
bool optimize_each_step_
 If true, optimize each step, else once per spike.
 

Detailed Description

Class implementing common properties of an Adam weight optimizer model.

Constructor & Destructor Documentation

◆ WeightOptimizerCommonPropertiesAdam() [1/2]

nest::WeightOptimizerCommonPropertiesAdam::WeightOptimizerCommonPropertiesAdam ( )

Default constructor.

Referenced by clone().

Here is the caller graph for this function:

◆ WeightOptimizerCommonPropertiesAdam() [2/2]

nest::WeightOptimizerCommonPropertiesAdam::WeightOptimizerCommonPropertiesAdam ( const WeightOptimizerCommonPropertiesAdam &  )
default

Copy constructor.

Member Function Documentation

◆ clone()

WeightOptimizerCommonProperties * nest::WeightOptimizerCommonPropertiesAdam::clone ( ) const
overridevirtual

Clone constructor.

Implements nest::WeightOptimizerCommonProperties.

References WeightOptimizerCommonPropertiesAdam().

Here is the call graph for this function:

◆ get_name()

std::string nest::WeightOptimizerCommonPropertiesAdam::get_name ( ) const
inlineoverridevirtual

Get optimizer name.

Implements nest::WeightOptimizerCommonProperties.

◆ get_optimizer()

WeightOptimizer * nest::WeightOptimizerCommonPropertiesAdam::get_optimizer ( ) const
overridevirtual

Get optimizer.

Implements nest::WeightOptimizerCommonProperties.

References WeightOptimizerAdam.

◆ get_status()

void nest::WeightOptimizerCommonPropertiesAdam::get_status ( Dictionary &  d) const
overridevirtual

Get parameter dictionary.

Reimplemented from nest::WeightOptimizerCommonProperties.

References nest::names::beta_1(), beta_1_, nest::names::beta_2(), beta_2_, nest::names::epsilon(), epsilon_, and nest::WeightOptimizerCommonProperties::get_status().

Here is the call graph for this function:

◆ operator=()

WeightOptimizerCommonPropertiesAdam & nest::WeightOptimizerCommonPropertiesAdam::operator= ( const WeightOptimizerCommonPropertiesAdam &  )
delete

Assignment operator.

◆ set_status()

void nest::WeightOptimizerCommonPropertiesAdam::set_status ( const Dictionary &  d)
overridevirtual

Update parameters in parameter dictionary.

Reimplemented from nest::WeightOptimizerCommonProperties.

References nest::names::beta_1(), beta_1_, nest::names::beta_2(), beta_2_, nest::names::epsilon(), epsilon_, and nest::WeightOptimizerCommonProperties::set_status().

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ WeightOptimizerAdam

friend class WeightOptimizerAdam
friend

Friend class for Adam weight optimizer model.

Referenced by get_optimizer().

Member Data Documentation

◆ beta_1_

double nest::WeightOptimizerCommonPropertiesAdam::beta_1_
private

Exponential decay rate for first moment estimate.

Referenced by get_status(), nest::WeightOptimizerAdam::optimize_(), and set_status().

◆ beta_2_

double nest::WeightOptimizerCommonPropertiesAdam::beta_2_
private

Exponential decay rate for second moment estimate.

Referenced by get_status(), nest::WeightOptimizerAdam::optimize_(), and set_status().

◆ epsilon_

double nest::WeightOptimizerCommonPropertiesAdam::epsilon_
private

Small constant for numerical stability.

Referenced by get_status(), nest::WeightOptimizerAdam::optimize_(), and set_status().


The documentation for this class was generated from the following files: