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

Base class implementing an Adam weight optimizer model. More...

#include <weight_optimizer.h>

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

Public Member Functions

 WeightOptimizerAdam ()
 Default constructor.
 
 WeightOptimizerAdam (const WeightOptimizerAdam &)=default
 Copy constructor.
 
WeightOptimizerAdam & operator= (const WeightOptimizerAdam &)=delete
 Assignment operator.
 
void get_status (Dictionary &d) const override
 Get parameter dictionary.
 
void set_status (const Dictionary &d) override
 Update values in parameter dictionary.
 
- Public Member Functions inherited from nest::WeightOptimizer
 WeightOptimizer ()
 Default constructor.
 
virtual ~WeightOptimizer ()
 Destructor.
 
 WeightOptimizer (const WeightOptimizer &)=default
 Copy constructor.
 
WeightOptimizer & operator= (const WeightOptimizer &)=delete
 Assignment operator.
 
double optimized_weight (const WeightOptimizerCommonProperties &cp, const size_t idx_current_update, const double gradient, double weight)
 Return optimized weight based on current weight.
 

Private Member Functions

double optimize_ (const WeightOptimizerCommonProperties &cp, double weight, size_t current_opt_step) override
 Perform specific optimization.
 

Private Attributes

double m_
 First moment estimate variable.
 
double v_
 Second moment estimate variable.
 
double beta_1_power_
 Power of beta_1 factor.
 
double beta_2_power_
 Power of beta_2 factor.
 

Additional Inherited Members

- Protected Attributes inherited from nest::WeightOptimizer
double cumulative_gradient_
 Cumulative gradient over the current batch.
 
size_t optimization_step_
 Current optimization step, whereby optimization happens every batch_size_ steps.
 
double eta_current_
 Synapse-specific learning rate when the history for its upcoming weight update was archived.
 
long n_optimize_
 Number of optimizations.
 

Detailed Description

Base class implementing an Adam weight optimizer model.

Constructor & Destructor Documentation

◆ WeightOptimizerAdam() [1/2]

nest::WeightOptimizerAdam::WeightOptimizerAdam ( )

Default constructor.

◆ WeightOptimizerAdam() [2/2]

nest::WeightOptimizerAdam::WeightOptimizerAdam ( const WeightOptimizerAdam &  )
default

Copy constructor.

Member Function Documentation

◆ get_status()

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

Get parameter dictionary.

Reimplemented from nest::WeightOptimizer.

References nest::WeightOptimizer::get_status(), nest::names::m(), m_, nest::names::v(), and v_.

Here is the call graph for this function:

◆ operator=()

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

Assignment operator.

◆ optimize_()

◆ set_status()

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

Update values in parameter dictionary.

Reimplemented from nest::WeightOptimizer.

References nest::names::m(), m_, nest::WeightOptimizer::set_status(), nest::names::v(), and v_.

Here is the call graph for this function:

Member Data Documentation

◆ beta_1_power_

double nest::WeightOptimizerAdam::beta_1_power_
private

Power of beta_1 factor.

Referenced by optimize_().

◆ beta_2_power_

double nest::WeightOptimizerAdam::beta_2_power_
private

Power of beta_2 factor.

Referenced by optimize_().

◆ m_

double nest::WeightOptimizerAdam::m_
private

First moment estimate variable.

Referenced by get_status(), optimize_(), and set_status().

◆ v_

double nest::WeightOptimizerAdam::v_
private

Second moment estimate variable.

Referenced by get_status(), optimize_(), and set_status().


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