18 #ifndef itkGradientDescentOptimizerv4_h
19 #define itkGradientDescentOptimizerv4_h
76 template<
typename TInternalComputationValueType>
108 itkSetMacro(LearningRate, TInternalComputationValueType);
111 itkGetConstReferenceMacro(LearningRate, TInternalComputationValueType);
119 itkSetMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
122 itkGetConstReferenceMacro(MaximumStepSizeInPhysicalUnits, TInternalComputationValueType);
131 itkSetMacro(DoEstimateLearningRateAtEachIteration,
bool);
132 itkGetConstReferenceMacro(DoEstimateLearningRateAtEachIteration,
bool);
133 itkBooleanMacro(DoEstimateLearningRateAtEachIteration);
143 itkSetMacro(DoEstimateLearningRateOnce,
bool);
144 itkGetConstReferenceMacro(DoEstimateLearningRateOnce,
bool);
145 itkBooleanMacro(DoEstimateLearningRateOnce);
157 itkSetMacro(MinimumConvergenceValue, TInternalComputationValueType);
170 itkGetConstReferenceMacro( ConvergenceValue, TInternalComputationValueType);
183 itkSetMacro(ReturnBestParametersAndValue,
bool);
184 itkGetConstReferenceMacro(ReturnBestParametersAndValue,
bool);
185 itkBooleanMacro(ReturnBestParametersAndValue);
189 virtual void StartOptimization(
bool doOnlyInitialization =
false ) ITK_OVERRIDE;
220 virtual
void PrintSelf( std::ostream & os,
Indent indent ) const ITK_OVERRIDE;
249 GradientDescentOptimizerv4Template( const
Self & );
250 void operator=( const Self& );
258 #ifndef ITK_MANUAL_INSTANTIATION
259 #include "itkGradientDescentOptimizerv4.hxx"
Superclass::ScalesType ScalesType
virtual void StartOptimization(bool doOnlyInitialization=false) override
TInternalComputationValueType m_LearningRate
Light weight base class for most itk classes.
Superclass::IndexRangeType IndexRangeType
TInternalComputationValueType m_ConvergenceValue
Superclass::DerivativeType DerivativeType
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::ScalesType ScalesType
virtual void ModifyGradientByLearningRateOverSubRange(const IndexRangeType &subrange) override
Superclass::ParametersType ParametersType
virtual void AdvanceOneStep()
SmartPointer< const Self > ConstPointer
GradientDescentOptimizerv4Template Self
unsigned long SizeValueType
GradientDescentOptimizerBasev4Template< TInternalComputationValueType > Superclass
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::MeasureType MeasureType
Superclass::DerivativeType DerivativeType
ParametersType m_BestParameters
MeasureType m_CurrentBestValue
TInternalComputationValueType InternalComputationValueType
virtual void ModifyGradientByScalesOverSubRange(const IndexRangeType &subrange) override
virtual void EstimateLearningRate()
Control indentation during Print() invocation.
Superclass::MeasureType MeasureType
virtual void ResumeOptimization() override
TInternalComputationValueType m_MinimumConvergenceValue
Gradient descent optimizer.
DerivativeType m_PreviousGradient
bool m_ReturnBestParametersAndValue
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
Superclass::StopConditionType StopConditionType
virtual void StopOptimization(void) override