Deep Learning Algorithm Implementations 1.0.0
C++ implementations of fundamental deep learning algorithms
Loading...
Searching...
No Matches
dl::optimization::AutogradOptimizer< T > Class Template Referenceabstract

Base class for autograd-compatible optimizers. More...

#include <optimizers.hpp>

Inheritance diagram for dl::optimization::AutogradOptimizer< T >:
Collaboration diagram for dl::optimization::AutogradOptimizer< T >:

Public Member Functions

 AutogradOptimizer (std::vector< Variable< T > * > parameters)
 Constructor.
 
virtual ~AutogradOptimizer ()=default
 
virtual void step ()=0
 Perform one optimization step.
 
virtual void zero_grad ()
 Zero gradients of all parameters.
 
virtual T get_lr () const =0
 Get learning rate.
 
virtual void set_lr (T lr)=0
 Set learning rate.
 

Protected Attributes

std::vector< Variable< T > * > parameters_
 

Detailed Description

template<typename T>
class dl::optimization::AutogradOptimizer< T >

Base class for autograd-compatible optimizers.

Definition at line 28 of file optimizers.hpp.

Constructor & Destructor Documentation

◆ AutogradOptimizer()

template<typename T >
dl::optimization::AutogradOptimizer< T >::AutogradOptimizer ( std::vector< Variable< T > * >  parameters)
inlineexplicit

Constructor.

Parameters
parametersVector of parameter variables to optimize

Definition at line 34 of file optimizers.hpp.

◆ ~AutogradOptimizer()

template<typename T >
virtual dl::optimization::AutogradOptimizer< T >::~AutogradOptimizer ( )
virtualdefault

Member Function Documentation

◆ get_lr()

template<typename T >
virtual T dl::optimization::AutogradOptimizer< T >::get_lr ( ) const
pure virtual

◆ set_lr()

template<typename T >
virtual void dl::optimization::AutogradOptimizer< T >::set_lr ( lr)
pure virtual

◆ step()

template<typename T >
virtual void dl::optimization::AutogradOptimizer< T >::step ( )
pure virtual

◆ zero_grad()

template<typename T >
virtual void dl::optimization::AutogradOptimizer< T >::zero_grad ( )
inlinevirtual

Zero gradients of all parameters.

Definition at line 47 of file optimizers.hpp.

Member Data Documentation

◆ parameters_

template<typename T >
std::vector<Variable<T>*> dl::optimization::AutogradOptimizer< T >::parameters_
protected

Definition at line 64 of file optimizers.hpp.


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