Base class for gradient-based optimization methods. More...
#include <BaseGradientOptimizationMethod.h>
Public Member Functions | |
Scalar | GetTolerance () |
Gets the relative difference threshold to be used as stopping criteria between two iterations. Default is 0 (iterate until convergence). More... | |
void | SetTolerance (Scalar tolerance) |
Sets the relative difference threshold to be used as stopping criteria between two iterations. Default is 0 (iterate until convergence). More... | |
int | GetMaxIterations () |
Gets the maximum number of iterations to be performed during optimization. Default is 0 (iterate until convergence). More... | |
void | SetMaxIterations (int iter) |
Sets the maximum number of iterations to be performed during optimization. Default is 0 (iterate until convergence). More... | |
int | GetIterations () |
Gets the number of iterations performed in the last call to IOptimizationMethod.Minimize(). More... | |
![]() | |
virtual int | GetNumberOfVariables () |
Gets the number of variables (free parameters) in the optimization problem. More... | |
virtual af::array | GetSolution () |
Gets the current solution found, the values of the parameters which optimizes the function. More... | |
virtual void | SetSolution (af::array &x) |
Sets the current solution found, the values of the parameters which optimizes the function. More... | |
virtual Scalar | GetValue () |
Gets the output of the function at the current Solution. More... | |
virtual bool | Maximize (af::array &values, int *cycle=nullptr) |
Finds the maximum value of a function. The solution vector will be made available at the Solution property. More... | |
virtual bool | Minimize (af::array &values, int *cycle=nullptr) |
Finds the minimum value of a function. The solution vector will be made available at the Solution property. More... | |
virtual bool | Maximize (int *cycle=nullptr) |
Finds the maximum value of a function. The solution vector will be made available at the Solution property. More... | |
virtual bool | Minimize (int *cycle=nullptr) |
Finds the minimum value of a function. The solution vector will be made available at the Solution property. More... | |
void | Display (bool display) |
Set to display optimization information. More... | |
virtual int | GetNumberOfVariables ()=0 |
Gets the number of variables (free parameters) in the optimization problem. More... | |
virtual af::array | GetSolution ()=0 |
Gets the current solution found, the values of the parameters which optimizes the function. More... | |
virtual void | SetSolution (af::array &x)=0 |
Gets a solution. More... | |
virtual Scalar | GetValue ()=0 |
Gets the output of the function at the current Solution. More... | |
virtual bool | Minimize (int *cycle=nullptr)=0 |
Finds the minimum value of a function. The solution vector will be made available at the Solution property. More... | |
virtual bool | Maximize (int *cycle=nullptr)=0 |
Finds the maximum value of a function. The solution vector will be made available at the Solution property. More... | |
Protected Member Functions | |
BaseGradientOptimizationMethod (int numberOfVariables) | |
Initializes a new instance of the BaseGradientOptimizationMethod class. More... | |
BaseGradientOptimizationMethod (int numberOfVariables, std::function< Scalar(const af::array &, af::array &)> function) | |
Initializes a new instance of the BaseGradientOptimizationMethod class. More... | |
BaseGradientOptimizationMethod (NonlinearObjectiveFunction< Scalar > *function) | |
Initializes a new instance of the BaseGradientOptimizationMethod class. More... | |
void | InitLinesearch () |
Inits linesearch. More... | |
![]() | |
void | SetValue (Scalar v) |
Sets the output of the function at the current Solution. More... | |
void | SetNumberOfVariables (int n) |
Sets the number of variables (free parameters) in the optimization problem. More... | |
BaseOptimizationMethod (int numberOfVariables) | |
Initializes a new instance of the BaseOptimizationMethod class. More... | |
BaseOptimizationMethod (int numberOfVariables, std::function< Scalar(const af::array &, af::array &)> function) | |
Initializes a new instance of the BaseOptimizationMethod class. More... | |
BaseOptimizationMethod (NonlinearObjectiveFunction< Scalar > *function) | |
Initializes a new instance of the BaseOptimizationMethod class. More... | |
virtual bool | Optimize (int *cycle=nullptr)=0 |
Implements the actual optimization algorithm. This method should try to minimize the objective function. More... | |
Protected Attributes | |
int | maxIterations |
Scalar | _tolerance |
int | iterations |
ILineSearch< Scalar > * | linesearch |
![]() | |
NonlinearObjectiveFunction< Scalar > * | _function |
af::array | _x |
bool | _display |
af::dtype | m_dtype |
Base class for gradient-based optimization methods.
HmetalT, 26.03.2017.
Definition at line 39 of file BaseGradientOptimizationMethod.h.
|
protected |
Initializes a new instance of the BaseGradientOptimizationMethod class.
Hmetal T, 26.03.2017.
numberOfVariables | The number of free parameters in the optimization problem. |
|
protected |
Initializes a new instance of the BaseGradientOptimizationMethod class.
Hmetal T, 26.03.2017.
numberOfVariables | The number of free parameters in the optimization problem. |
function | [in,out] The objective function whose optimum values should be found. |
gradient | [in,out] The gradient of the objective function . |
|
protected |
Initializes a new instance of the BaseGradientOptimizationMethod class.
Hmetal T, 17.03.2017.
function | The objective function and gradients whose optimum values should be found. |
Scalar NeuralEngine::MachineLearning::BaseGradientOptimizationMethod< Scalar, LSType >::GetTolerance | ( | ) |
Gets the relative difference threshold to be used as stopping criteria between two iterations. Default is 0 (iterate until convergence).
Admin, 3/27/2017.
void NeuralEngine::MachineLearning::BaseGradientOptimizationMethod< Scalar, LSType >::SetTolerance | ( | Scalar | tolerance | ) |
Sets the relative difference threshold to be used as stopping criteria between two iterations. Default is 0 (iterate until convergence).
Admin, 3/27/2017.
int NeuralEngine::MachineLearning::BaseGradientOptimizationMethod< Scalar, LSType >::GetMaxIterations | ( | ) |
Gets the maximum number of iterations to be performed during optimization. Default is 0 (iterate until convergence).
Admin, 3/27/2017.
void NeuralEngine::MachineLearning::BaseGradientOptimizationMethod< Scalar, LSType >::SetMaxIterations | ( | int | iter | ) |
Sets the maximum number of iterations to be performed during optimization. Default is 0 (iterate until convergence).
Admin, 3/27/2017.
iter | The iterator. |
int NeuralEngine::MachineLearning::BaseGradientOptimizationMethod< Scalar, LSType >::GetIterations | ( | ) |
Gets the number of iterations performed in the last call to IOptimizationMethod.Minimize().
Admin, 3/27/2017.
|
protected |
Inits linesearch.
Hmetal T, 11/06/2019.
|
protected |
Definition at line 270 of file BaseGradientOptimizationMethod.h.
|
protected |
Definition at line 271 of file BaseGradientOptimizationMethod.h.
|
protected |
Definition at line 272 of file BaseGradientOptimizationMethod.h.
|
protected |
Definition at line 274 of file BaseGradientOptimizationMethod.h.