Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkStochasticVarianceReducedGradientDescentOptimizer.h>
Implement a gradient descent optimizer.
StochasticVarianceReducedGradientDescentOptimizer implements a simple gradient descent optimizer. At each iteration the current position is updated according to
The learning rate is a fixed scalar defined via SetLearningRate(). The optimizer steps through a user defined number of iterations; no convergence checking is done.
Additionally, user can scale each component of the but setting a scaling vector using method SetScale().
The difference of this class with the itk::GradientDescentOptimizer is that it's based on the ScaledSingleValuedNonLinearOptimizer
Definition at line 52 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
Data Structures | |
struct | MultiThreaderParameterType |
Public Member Functions | |
virtual void | AdvanceOneStep (void) |
virtual const char * | GetClassName () const |
virtual unsigned int | GetCurrentInnerIteration () const |
virtual unsigned int | GetCurrentIteration () const |
virtual const DerivativeType & | GetGradient () |
virtual unsigned int | GetLBFGSMemory () const |
virtual const double & | GetLearningRate () |
virtual const unsigned long & | GetNumberOfInnerIterations () |
virtual const unsigned long & | GetNumberOfIterations () |
virtual const DerivativeType & | GetPreviousGradient () |
virtual const ParametersType & | GetPreviousPosition () |
virtual const DerivativeType & | GetSearchDir () |
virtual const StopConditionType & | GetStopCondition () |
virtual const double & | GetValue () |
virtual void | MetricErrorResponse (ExceptionObject &err) |
virtual void | ResumeOptimization (void) |
virtual void | SetLearningRate (double _arg) |
virtual void | SetNumberOfIterations (unsigned long _arg) |
void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
virtual void | SetPreviousGradient (DerivativeType _arg) |
virtual void | SetPreviousPosition (ParametersType _arg) |
virtual void | SetUseEigen (bool _arg) |
virtual void | SetUseMultiThread (bool _arg) |
virtual void | SetUseOpenMP (bool _arg) |
void | StartOptimization (void) override |
virtual void | StopOptimization (void) |
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
virtual const char * | GetClassName () const |
const ParametersType & | GetCurrentPosition (void) const override |
virtual bool | GetMaximize () const |
virtual const ScaledCostFunctionType * | GetScaledCostFunction () |
virtual const ParametersType & | GetScaledCurrentPosition () |
bool | GetUseScales (void) const |
virtual void | InitializeScales (void) |
virtual void | MaximizeOff () |
virtual void | MaximizeOn () |
void | SetCostFunction (CostFunctionType *costFunction) override |
virtual void | SetMaximize (bool _arg) |
virtual void | SetUseScales (bool arg) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
static Pointer | New () |
Protected Types | |
typedef itk::PlatformMultiThreader | ThreaderType |
typedef ThreaderType::WorkUnitInfo | ThreadInfoType |
Protected Member Functions | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
StochasticVarianceReducedGradientDescentOptimizer () | |
~StochasticVarianceReducedGradientDescentOptimizer () override | |
Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
virtual void | GetScaledDerivative (const ParametersType ¶meters, DerivativeType &derivative) const |
virtual MeasureType | GetScaledValue (const ParametersType ¶meters) const |
virtual void | GetScaledValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
ScaledSingleValuedNonLinearOptimizer () | |
void | SetCurrentPosition (const ParametersType ¶m) override |
virtual void | SetScaledCurrentPosition (const ParametersType ¶meters) |
~ScaledSingleValuedNonLinearOptimizer () override | |
Protected Attributes | |
unsigned long | m_CurrentInnerIteration |
unsigned long | m_CurrentIteration |
DerivativeType | m_Gradient |
unsigned long | m_LBFGSMemory |
double | m_LearningRate |
ParametersType | m_MeanSearchDir |
unsigned long | m_NumberOfInnerIterations |
unsigned long | m_NumberOfIterations |
DerivativeType | m_PreviousGradient |
ParametersType | m_PreviousPosition |
ParametersType | m_PreviousSearchDir |
ParametersType | m_SearchDir |
bool | m_Stop |
StopConditionType | m_StopCondition |
ThreaderType::Pointer | m_Threader |
double | m_Value |
Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
ScaledCostFunctionPointer | m_ScaledCostFunction |
ParametersType | m_ScaledCurrentPosition |
Private Member Functions | |
void | operator= (const Self &) |
StochasticVarianceReducedGradientDescentOptimizer (const Self &) | |
void | ThreadedAdvanceOneStep (ThreadIdType threadId, ParametersType &newPosition) |
Static Private Member Functions | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AdvanceOneStepThreaderCallback (void *arg) |
Private Attributes | |
bool | m_UseEigen |
bool | m_UseMultiThread |
bool | m_UseOpenMP |
typedef SmartPointer<const Self> itk::StochasticVarianceReducedGradientDescentOptimizer::ConstPointer |
Definition at line 60 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::CostFunctionType itk::StochasticVarianceReducedGradientDescentOptimizer::CostFunctionType |
Definition at line 72 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::DerivativeType itk::StochasticVarianceReducedGradientDescentOptimizer::DerivativeType |
Definition at line 71 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::MeasureType itk::StochasticVarianceReducedGradientDescentOptimizer::MeasureType |
Typedefs inherited from the superclass.
Definition at line 69 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::ParametersType itk::StochasticVarianceReducedGradientDescentOptimizer::ParametersType |
Definition at line 70 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef SmartPointer<Self> itk::StochasticVarianceReducedGradientDescentOptimizer::Pointer |
Definition at line 59 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::ScaledCostFunctionPointer itk::StochasticVarianceReducedGradientDescentOptimizer::ScaledCostFunctionPointer |
Definition at line 75 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::ScaledCostFunctionType itk::StochasticVarianceReducedGradientDescentOptimizer::ScaledCostFunctionType |
Definition at line 74 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef Superclass::ScalesType itk::StochasticVarianceReducedGradientDescentOptimizer::ScalesType |
Definition at line 73 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef StochasticVarianceReducedGradientDescentOptimizer itk::StochasticVarianceReducedGradientDescentOptimizer::Self |
Standard class typedefs.
Definition at line 57 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
typedef ScaledSingleValuedNonLinearOptimizer itk::StochasticVarianceReducedGradientDescentOptimizer::Superclass |
Definition at line 58 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Typedefs for multi-threading.
Definition at line 171 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 172 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
Codes of stopping conditions The MinimumStepSize stop condition never occurs, but may be implemented in inheriting classes
Enumerator | |
---|---|
MaximumNumberOfIterations | |
MetricError | |
MinimumStepSize | |
InvalidDiagonalMatrix | |
GradientMagnitudeTolerance | |
LineSearchError |
Definition at line 80 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 167 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
private |
|
virtual |
Advance one step following the gradient direction.
Reimplemented in elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, and itk::StandardStochasticVarianceReducedGradientOptimizer.
|
staticprivate |
The callback function.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, itk::AdaptiveStochasticVarianceReducedGradientOptimizer, and itk::StandardStochasticVarianceReducedGradientOptimizer.
|
virtual |
Get the current inner iteration number.
|
virtual |
Get the current iteration number.
|
virtual |
Get current gradient.
|
virtual |
Get the inner LBFGSMemory.
|
virtual |
Get the learning rate.
|
virtual |
Get the number of inner loop iterations.
|
virtual |
Get the number of iterations.
|
virtual |
Get the Previous gradient.
|
virtual |
Get the Previous Position.
|
virtual |
Get current search direction.
|
virtual |
Get Stop condition.
|
virtual |
Get the current value.
|
virtual |
Stop optimization and pass on exception.
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotected |
|
virtual |
Resume previously stopped optimization with current parameters
Reimplemented in elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >.
|
virtual |
Set the learning rate.
|
virtual |
Set the number of iterations.
|
inline |
Set the number of threads.
Definition at line 155 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
virtual |
Set the Previous gradient.
|
virtual |
Set the Previous Position.
|
virtual |
|
virtual |
|
virtual |
|
override |
Start optimization.
|
virtual |
Stop optimization.
Reimplemented in elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >.
|
inlineprivate |
The threaded implementation of AdvanceOneStep().
|
protected |
Definition at line 192 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 191 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 176 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 193 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 181 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 180 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 190 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 189 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 183 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 185 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 178 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 177 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 188 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 182 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 186 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
private |
Definition at line 208 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
private |
Definition at line 200 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
private |
Definition at line 207 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
|
protected |
Definition at line 175 of file itkStochasticVarianceReducedGradientDescentOptimizer.h.
Generated on 1667476801 for elastix by 1.9.4 |