18#ifndef __itkStochasticVarianceReducedGradientDescentOptimizer_h
19#define __itkStochasticVarianceReducedGradientDescentOptimizer_h
22#include "itkPlatformMultiThreader.h"
107 itkSetMacro( LearningRate,
double );
110 itkGetConstReferenceMacro( LearningRate,
double );
113 itkSetMacro( NumberOfIterations,
unsigned long );
116 itkGetConstMacro( LBFGSMemory,
unsigned int );
119 itkGetConstReferenceMacro( NumberOfIterations,
unsigned long );
122 itkGetConstReferenceMacro( NumberOfInnerIterations,
unsigned long );
125 itkGetConstMacro( CurrentIteration,
unsigned int );
128 itkGetConstMacro( CurrentInnerIteration,
unsigned int );
131 itkGetConstReferenceMacro( Value,
double );
157 this->
m_Threader->SetNumberOfWorkUnits( numberOfThreads );
160 itkSetMacro( UseMultiThread,
bool );
162 itkSetMacro( UseOpenMP,
bool );
163 itkSetMacro( UseEigen,
bool );
168 void PrintSelf( std::ostream& os, Indent indent )
const override;
NonLinearOptimizer::ScalesType ScalesType
Superclass::ParametersType ParametersType
ScaledSingleValuedCostFunction ScaledCostFunctionType
Superclass::DerivativeType DerivativeType
ScaledCostFunctionType::Pointer ScaledCostFunctionPointer
Superclass::CostFunctionType CostFunctionType
Superclass::MeasureType MeasureType
Implement a gradient descent optimizer.
~StochasticVarianceReducedGradientDescentOptimizer() override
ParametersType m_PreviousSearchDir
virtual void MetricErrorResponse(ExceptionObject &err)
ScaledSingleValuedNonLinearOptimizer Superclass
virtual void AdvanceOneStep(void)
ParametersType m_MeanSearchDir
unsigned long m_CurrentInnerIteration
Superclass::ScaledCostFunctionType ScaledCostFunctionType
DerivativeType m_PreviousGradient
ParametersType m_PreviousPosition
unsigned long m_NumberOfInnerIterations
Superclass::CostFunctionType CostFunctionType
StochasticVarianceReducedGradientDescentOptimizer(const Self &)
void ThreadedAdvanceOneStep(ThreadIdType threadId, ParametersType &newPosition)
StochasticVarianceReducedGradientDescentOptimizer Self
void SetNumberOfWorkUnits(ThreadIdType numberOfThreads)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION AdvanceOneStepThreaderCallback(void *arg)
ThreaderType::WorkUnitInfo ThreadInfoType
Superclass::DerivativeType DerivativeType
@ MaximumNumberOfIterations
@ GradientMagnitudeTolerance
DerivativeType m_Gradient
StochasticVarianceReducedGradientDescentOptimizer()
SmartPointer< Self > Pointer
Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer
ParametersType m_SearchDir
itk::PlatformMultiThreader ThreaderType
unsigned long m_CurrentIteration
ThreaderType::Pointer m_Threader
Superclass::MeasureType MeasureType
Superclass::ScalesType ScalesType
Superclass::ParametersType ParametersType
StopConditionType m_StopCondition
unsigned long m_NumberOfIterations
SmartPointer< const Self > ConstPointer
unsigned long m_LBFGSMemory
void StartOptimization(void) override
virtual void ResumeOptimization(void)
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void StopOptimization(void)
void operator=(const Self &)
ParametersType * t_NewPosition