|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkGradientDescentOptimizer2.h>
Implement a gradient descent optimizer.
GradientDescentOptimizer2 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 53 of file itkGradientDescentOptimizer2.h.
Inheritance diagram for itk::GradientDescentOptimizer2:Data Structures | |
| struct | MultiThreaderParameterType |
Public Member Functions | |
| virtual void | AdvanceOneStep (void) |
| virtual const char * | GetClassName () const |
| virtual unsigned int | GetCurrentIteration () const |
| virtual const DerivativeType & | GetGradient () |
| virtual const double & | GetLearningRate () |
| virtual const unsigned long & | GetNumberOfIterations () |
| virtual const DerivativeType & | GetSearchDirection () |
| 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 | SetNumberOfThreads (ThreadIdType numberOfThreads) |
| virtual void | SetUseEigen (bool _arg) |
| virtual void | SetUseMultiThread (bool _arg) |
| virtual void | SetUseOpenMP (bool _arg) |
| virtual void | StartOptimization (void) |
| virtual void | StopOptimization (void) |
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
| virtual const ParametersType & | GetCurrentPosition (void) const |
| 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 () |
| virtual void | SetCostFunction (CostFunctionType *costFunction) |
| 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::MultiThreader | ThreaderType |
| typedef ThreaderType::ThreadInfoStruct | ThreadInfoType |
Protected Member Functions | |
| GradientDescentOptimizer2 () | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual | ~GradientDescentOptimizer2 () |
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 |
| ScaledSingleValuedNonLinearOptimizer () | |
| virtual void | SetCurrentPosition (const ParametersType ¶m) |
| virtual void | SetScaledCurrentPosition (const ParametersType ¶meters) |
| virtual | ~ScaledSingleValuedNonLinearOptimizer () |
Protected Attributes | |
| unsigned long | m_CurrentIteration |
| DerivativeType | m_Gradient |
| double | m_LearningRate |
| unsigned long | m_NumberOfIterations |
| DerivativeType | m_SearchDirection |
| 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 | |
| GradientDescentOptimizer2 (const Self &) | |
| void | operator= (const Self &) |
| void | ThreadedAdvanceOneStep (ThreadIdType threadId, ParametersType &newPosition) |
Static Private Member Functions | |
| static ITK_THREAD_RETURN_TYPE | AdvanceOneStepThreaderCallback (void *arg) |
Private Attributes | |
| bool | m_UseEigen |
| bool | m_UseMultiThread |
| bool | m_UseOpenMP |
| typedef SmartPointer< const Self > itk::GradientDescentOptimizer2::ConstPointer |
Definition at line 62 of file itkGradientDescentOptimizer2.h.
| typedef Superclass::CostFunctionType itk::GradientDescentOptimizer2::CostFunctionType |
Definition at line 74 of file itkGradientDescentOptimizer2.h.
Definition at line 73 of file itkGradientDescentOptimizer2.h.
| typedef Superclass::MeasureType itk::GradientDescentOptimizer2::MeasureType |
Typedefs inherited from the superclass.
Definition at line 68 of file itkGradientDescentOptimizer2.h.
Definition at line 72 of file itkGradientDescentOptimizer2.h.
| typedef SmartPointer< Self > itk::GradientDescentOptimizer2::Pointer |
Definition at line 61 of file itkGradientDescentOptimizer2.h.
| typedef Superclass::ScaledCostFunctionPointer itk::GradientDescentOptimizer2::ScaledCostFunctionPointer |
Definition at line 77 of file itkGradientDescentOptimizer2.h.
| typedef Superclass::ScaledCostFunctionType itk::GradientDescentOptimizer2::ScaledCostFunctionType |
Definition at line 76 of file itkGradientDescentOptimizer2.h.
| typedef Superclass::ScalesType itk::GradientDescentOptimizer2::ScalesType |
Definition at line 75 of file itkGradientDescentOptimizer2.h.
Standard class typedefs.
Definition at line 59 of file itkGradientDescentOptimizer2.h.
Definition at line 60 of file itkGradientDescentOptimizer2.h.
|
protected |
Typedefs for multi-threading.
Definition at line 151 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 152 of file itkGradientDescentOptimizer2.h.
Codes of stopping conditions The MinimumStepSize stopcondition never occurs, but may be implemented in inheriting classes
| Enumerator | |
|---|---|
| MaximumNumberOfIterations | |
| MetricError | |
| MinimumStepSize | |
Definition at line 82 of file itkGradientDescentOptimizer2.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 147 of file itkGradientDescentOptimizer2.h.
|
private |
|
virtual |
Advance one step following the gradient direction.
Reimplemented in itk::StandardGradientDescentOptimizer.
|
staticprivate |
The callback function.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >, itk::AdaptiveStochasticGradientDescentOptimizer, elastix::StandardGradientDescent< TElastix >, and itk::StandardGradientDescentOptimizer.
|
virtual |
Get the current iteration number.
|
virtual |
Get current gradient.
|
virtual |
Get the learning rate.
|
virtual |
Get the number of iterations.
|
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 |
|
protected |
|
virtual |
Resume previously stopped optimization with current parameters
Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >.
|
virtual |
Set the learning rate.
|
virtual |
Set the number of iterations.
|
inline |
Set the number of threads.
Definition at line 133 of file itkGradientDescentOptimizer2.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Start optimization.
Reimplemented in elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::StandardGradientDescent< TElastix >, and itk::StandardGradientDescentOptimizer.
|
virtual |
Stop optimization.
|
inlineprivate |
The threaded implementation of AdvanceOneStep().
|
protected |
Definition at line 165 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 156 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 158 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 164 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 157 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 163 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 159 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 161 of file itkGradientDescentOptimizer2.h.
|
private |
Definition at line 181 of file itkGradientDescentOptimizer2.h.
|
private |
Definition at line 173 of file itkGradientDescentOptimizer2.h.
|
private |
Definition at line 180 of file itkGradientDescentOptimizer2.h.
|
protected |
Definition at line 155 of file itkGradientDescentOptimizer2.h.
Generated on OURCE_DATE_EPOCH for elastix by 1.8.13 |