18#ifndef itkGradientDescentOptimizer2_h
19#define itkGradientDescentOptimizer2_h
72 using Superclass::MeasureType;
73 using Superclass::ParametersType;
74 using Superclass::DerivativeType;
75 using Superclass::CostFunctionType;
113 itkSetMacro(LearningRate,
double);
116 itkGetConstReferenceMacro(LearningRate,
double);
119 itkSetMacro(NumberOfIterations,
unsigned long);
122 itkGetConstReferenceMacro(NumberOfIterations,
unsigned long);
125 itkGetConstMacro(CurrentIteration,
unsigned int);
128 itkGetConstReferenceMacro(Value,
double);
134 itkGetConstReferenceMacro(Gradient, DerivativeType);
137 itkGetConstReferenceMacro(SearchDirection, DerivativeType);
140 itkSetMacro(UseOpenMP,
bool);
146 PrintSelf(std::ostream & os, Indent indent)
const override;
Implement a gradient descent optimizer.
virtual void StopOptimization()
DerivativeType m_SearchDirection
ITK_DISALLOW_COPY_AND_MOVE(GradientDescentOptimizer2)
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
GradientDescentOptimizer2()
virtual void AdvanceOneStep()
virtual void MetricErrorResponse(ExceptionObject &err)
@ MaximumNumberOfIterations
StopConditionType m_StopCondition
DerivativeType m_Gradient
unsigned long m_CurrentIteration
void StartOptimization() override
unsigned long m_NumberOfIterations
~GradientDescentOptimizer2() override=default
virtual void ResumeOptimization()
A cost function that applies a scaling to another cost function.
ScaledSingleValuedNonLinearOptimizer()
NonLinearOptimizer::ScalesType ScalesType