18 #ifndef itkRegularStepGradientDescentOptimizerv4_h
19 #define itkRegularStepGradientDescentOptimizerv4_h
45 template<
typename TInternalComputationValueType>
90 itkSetMacro(MinimumStepLength, TInternalComputationValueType);
91 itkGetConstReferenceMacro(MinimumStepLength, TInternalComputationValueType);
95 itkSetMacro(RelaxationFactor, TInternalComputationValueType);
96 itkGetConstReferenceMacro(RelaxationFactor, TInternalComputationValueType);
100 itkSetMacro(GradientMagnitudeTolerance, TInternalComputationValueType);
101 itkGetConstReferenceMacro(GradientMagnitudeTolerance, TInternalComputationValueType);
105 itkSetMacro(CurrentLearningRateRelaxation,
MeasureType);
106 itkGetConstReferenceMacro(CurrentLearningRateRelaxation,
MeasureType);
110 void StartOptimization(
bool doOnlyInitialization =
false )
override;
113 void EstimateLearningRate()
override;
116 double GetCurrentStepLength()
const;
122 void AdvanceOneStep()
override;
125 void ModifyGradientByScalesOverSubRange(
const IndexRangeType& subrange )
override;
126 void ModifyGradientByLearningRateOverSubRange(
const IndexRangeType& subrange )
override;
136 void PrintSelf( std::ostream & os,
Indent indent )
const override;
151 #ifndef ITK_MANUAL_INSTANTIATION
152 #include "itkRegularStepGradientDescentOptimizerv4.hxx"
Light weight base class for most itk classes.
typename Superclass::ParametersType ParametersType
typename Superclass::ScalesType ScalesType
TInternalComputationValueType m_RelaxationFactor
TInternalComputationValueType InternalComputationValueType
MeasureType m_CurrentLearningRateRelaxation
typename Superclass::MeasureType MeasureType
typename Superclass::MeasureType MeasureType
Perform more precise accumulation of floating point numbers.
TInternalComputationValueType m_MinimumStepLength
Control indentation during Print() invocation.
Regular Step Gradient descent optimizer.
typename Superclass::DerivativeType DerivativeType
Gradient descent optimizer.
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
TInternalComputationValueType m_GradientMagnitudeTolerance