go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
itk::AdaptiveStochasticLBFGSOptimizer Class Reference

#include <itkAdaptiveStochasticLBFGSOptimizer.h>

Detailed Description

Definition at line 69 of file itkAdaptiveStochasticLBFGSOptimizer.h.

Inheritance diagram for itk::AdaptiveStochasticLBFGSOptimizer:

Public Types

using ConstPointer = SmartPointer<const Self>
using Pointer = SmartPointer<Self>
using Self = AdaptiveStochasticLBFGSOptimizer
using Superclass = StandardStochasticGradientOptimizer
Public Types inherited from itk::StandardStochasticGradientOptimizer
using ConstPointer = SmartPointer<const Self>
using Pointer = SmartPointer<Self>
using Self = StandardStochasticGradientOptimizer
enum  StopConditionType
using Superclass = StochasticGradientDescentOptimizer
Public Types inherited from itk::StochasticGradientDescentOptimizer
using ConstPointer = SmartPointer<const Self>
using Pointer = SmartPointer<Self>
using ScaledCostFunctionPointer
using ScaledCostFunctionType
using ScalesType
using Self = StochasticGradientDescentOptimizer
enum  StopConditionType {
  MaximumNumberOfIterations , MetricError , MinimumStepSize , InvalidDiagonalMatrix ,
  GradientMagnitudeTolerance , LineSearchError
}
using Superclass = ScaledSingleValuedNonLinearOptimizer
Public Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
using ConstPointer = SmartPointer<const Self>
using Pointer = SmartPointer<Self>
using ScaledCostFunctionPointer = ScaledCostFunctionType::Pointer
using ScaledCostFunctionType = ScaledSingleValuedCostFunction
using ScalesType = NonLinearOptimizer::ScalesType
using Self = ScaledSingleValuedNonLinearOptimizer
using Superclass = SingleValuedNonLinearOptimizer

Public Member Functions

virtual const char * GetClassName () const
virtual double GetSigmoidMax () const
virtual double GetSigmoidMin () const
virtual double GetSigmoidScale () const
virtual bool GetUseAdaptiveStepSizes () const
virtual bool GetUseSearchDirForAdaptiveStepSize () const
 ITK_DISALLOW_COPY_AND_MOVE (AdaptiveStochasticLBFGSOptimizer)
virtual void SetSigmoidMax (double _arg)
virtual void SetSigmoidMin (double _arg)
virtual void SetSigmoidScale (double _arg)
virtual void SetUseAdaptiveStepSizes (bool _arg)
virtual void SetUseSearchDirForAdaptiveStepSize (bool _arg)
Public Member Functions inherited from itk::StandardStochasticGradientOptimizer
void AdvanceOneStep () override
virtual double GetCurrentTime () const
virtual double GetInitialTime () const
virtual double GetParam_A () const
virtual double GetParam_a () const
virtual double GetParam_alpha () const
virtual double GetParam_beta () const
 ITK_DISALLOW_COPY_AND_MOVE (StandardStochasticGradientOptimizer)
virtual void ResetCurrentTimeToInitialTime ()
virtual void SetInitialTime (double _arg)
virtual void SetParam_A (double _arg)
virtual void SetParam_a (double _arg)
virtual void SetParam_alpha (double _arg)
virtual void SetParam_beta (double _arg)
void StartOptimization () override
Public Member Functions inherited from itk::StochasticGradientDescentOptimizer
virtual unsigned int GetCurrentInnerIteration () const
virtual unsigned int GetCurrentIteration () const
virtual const DerivativeType & GetGradient ()
virtual unsigned int GetLBFGSMemory () const
virtual const doubleGetLearningRate ()
virtual const unsigned long & GetNumberOfInnerIterations ()
virtual const unsigned long & GetNumberOfIterations ()
virtual const DerivativeType & GetPreviousGradient ()
virtual const ParametersType & GetPreviousPosition ()
virtual const DerivativeType & GetSearchDir ()
virtual const StopConditionTypeGetStopCondition ()
virtual const doubleGetValue ()
 ITK_DISALLOW_COPY_AND_MOVE (StochasticGradientDescentOptimizer)
virtual void MetricErrorResponse (ExceptionObject &err)
virtual void ResumeOptimization ()
virtual void SetLearningRate (double _arg)
virtual void SetNumberOfIterations (unsigned long _arg)
void SetNumberOfWorkUnits (ThreadIdType numberOfThreads)
virtual void SetPreviousGradient (DerivativeType _arg)
virtual void SetPreviousPosition (ParametersType _arg)
virtual void SetUseEigen (bool _arg)
virtual void SetUseMultiThread (bool _arg)
void StartOptimization () override
virtual void StopOptimization ()
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
const ParametersType & GetCurrentPosition () const override
virtual bool GetMaximize () const
virtual const ScaledCostFunctionTypeGetScaledCostFunction ()
virtual const ParametersType & GetScaledCurrentPosition ()
bool GetUseScales () const
virtual void InitializeScales ()
 ITK_DISALLOW_COPY_AND_MOVE (ScaledSingleValuedNonLinearOptimizer)
virtual void MaximizeOff ()
virtual void MaximizeOn ()
void SetCostFunction (CostFunctionType *costFunction) override
virtual void SetMaximize (bool _arg)
virtual void SetUseScales (bool arg)

Static Public Member Functions

static Pointer New ()
Static Public Member Functions inherited from itk::StandardStochasticGradientOptimizer
static Pointer New ()
Static Public Member Functions inherited from itk::StochasticGradientDescentOptimizer
static Pointer New ()
Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
static Pointer New ()

Protected Member Functions

 AdaptiveStochasticLBFGSOptimizer ()
void UpdateCurrentTime () override
 ~AdaptiveStochasticLBFGSOptimizer () override=default
Protected Member Functions inherited from itk::StandardStochasticGradientOptimizer
virtual double Compute_a (double k) const
virtual double Compute_beta (double k) const
 StandardStochasticGradientOptimizer ()
 ~StandardStochasticGradientOptimizer () override=default
Protected Member Functions inherited from itk::StochasticGradientDescentOptimizer
void PrintSelf (std::ostream &os, Indent indent) const override
 StochasticGradientDescentOptimizer ()
 ~StochasticGradientDescentOptimizer () override=default
Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual void GetScaledDerivative (const ParametersType &parameters, DerivativeType &derivative) const
virtual MeasureType GetScaledValue (const ParametersType &parameters) const
virtual void GetScaledValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
void PrintSelf (std::ostream &os, Indent indent) const override
 ScaledSingleValuedNonLinearOptimizer ()
void SetCurrentPosition (const ParametersType &param) override
virtual void SetScaledCurrentPosition (const ParametersType &parameters)
 ~ScaledSingleValuedNonLinearOptimizer () override=default

Protected Attributes

double m_SearchLengthScale { 10 }
std::string m_StepSizeStrategy {}
unsigned long m_UpdateFrequenceL {}
bool m_UseAdaptiveStepSizes { true }
bool m_UseSearchDirForAdaptiveStepSize {}
Protected Attributes inherited from itk::StandardStochasticGradientOptimizer
double m_CurrentTime { 0.0 }
bool m_UseConstantStep {}
Protected Attributes inherited from itk::StochasticGradientDescentOptimizer
unsigned long m_CurrentInnerIteration {}
unsigned long m_CurrentIteration { 0 }
DerivativeType m_Gradient {}
unsigned long m_LBFGSMemory { 0 }
double m_LearningRate { 1.0 }
ParametersType m_MeanSearchDir {}
unsigned long m_NumberOfInnerIterations {}
unsigned long m_NumberOfIterations { 100 }
DerivativeType m_PrePreviousGradient {}
ParametersType m_PrePreviousSearchDir {}
DerivativeType m_PreviousGradient {}
ParametersType m_PreviousPosition {}
ParametersType m_PreviousSearchDir {}
ParametersType m_SearchDir {}
bool m_Stop { false }
StopConditionType m_StopCondition { MaximumNumberOfIterations }
MultiThreaderBase::Pointer m_Threader { MultiThreaderBase::New() }
double m_Value { 0.0 }
Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer m_ScaledCostFunction {}
ParametersType m_ScaledCurrentPosition {}

Private Attributes

double m_SigmoidMax { 1.0 }
double m_SigmoidMin { -0.8 }
double m_SigmoidScale { 1e-8 }

Additional Inherited Members

Protected Types inherited from itk::StochasticGradientDescentOptimizer
using ThreadInfoType = MultiThreaderBase::WorkUnitInfo

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ AdaptiveStochasticLBFGSOptimizer()

itk::AdaptiveStochasticLBFGSOptimizer::AdaptiveStochasticLBFGSOptimizer ( )
protected

◆ ~AdaptiveStochasticLBFGSOptimizer()

itk::AdaptiveStochasticLBFGSOptimizer::~AdaptiveStochasticLBFGSOptimizer ( )
overrideprotecteddefault

Member Function Documentation

◆ GetClassName()

virtual const char * itk::AdaptiveStochasticLBFGSOptimizer::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::StandardStochasticGradientOptimizer.

Reimplemented in elastix::AdaptiveStochasticLBFGS< TElastix >.

◆ GetSigmoidMax()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidMax ( ) const
virtual

◆ GetSigmoidMin()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidMin ( ) const
virtual

◆ GetSigmoidScale()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidScale ( ) const
virtual

◆ GetUseAdaptiveStepSizes()

virtual bool itk::AdaptiveStochasticLBFGSOptimizer::GetUseAdaptiveStepSizes ( ) const
virtual

◆ GetUseSearchDirForAdaptiveStepSize()

virtual bool itk::AdaptiveStochasticLBFGSOptimizer::GetUseSearchDirForAdaptiveStepSize ( ) const
virtual

◆ ITK_DISALLOW_COPY_AND_MOVE()

itk::AdaptiveStochasticLBFGSOptimizer::ITK_DISALLOW_COPY_AND_MOVE ( AdaptiveStochasticLBFGSOptimizer )

◆ New()

Pointer itk::AdaptiveStochasticLBFGSOptimizer::New ( )
static

Method for creation through the object factory.

◆ SetSigmoidMax()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidMax ( double _arg)
virtual

Set/Get the maximum of the sigmoid. Should be >0. Default: 1.0

◆ SetSigmoidMin()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidMin ( double _arg)
virtual

Set/Get the maximum of the sigmoid. Should be <0. Default: -0.8

◆ SetSigmoidScale()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidScale ( double _arg)
virtual

Set/Get the scaling of the sigmoid width. Large values cause a more wide sigmoid. Default: 1e-8. Should be >0.

◆ SetUseAdaptiveStepSizes()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetUseAdaptiveStepSizes ( bool _arg)
virtual

Set/Get whether the adaptive step size mechanism is desired. Default: true

◆ SetUseSearchDirForAdaptiveStepSize()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetUseSearchDirForAdaptiveStepSize ( bool _arg)
virtual

Set/Get whether the adaptive step size mechanism is desired. Default: true

◆ UpdateCurrentTime()

void itk::AdaptiveStochasticLBFGSOptimizer::UpdateCurrentTime ( )
overrideprotectedvirtual

Function to update the current time If UseAdaptiveStepSizes is false this function just increments the CurrentTime by $E_0 = (sigmoid_{max} + sigmoid_{min})/2$. Else, the CurrentTime is updated according to:
time = max[ 0, time + sigmoid( -gradient*previousgradient) ]
In that case, also the m_PreviousGradient is updated.

Reimplemented from itk::StandardStochasticGradientOptimizer.

Field Documentation

◆ m_SearchLengthScale

double itk::AdaptiveStochasticLBFGSOptimizer::m_SearchLengthScale { 10 }
protected

Definition at line 140 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidMax

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMax { 1.0 }
private

Settings

Definition at line 146 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidMin

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMin { -0.8 }
private

Definition at line 147 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidScale

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidScale { 1e-8 }
private

Definition at line 148 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_StepSizeStrategy

std::string itk::AdaptiveStochasticLBFGSOptimizer::m_StepSizeStrategy {}
protected

Definition at line 141 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UpdateFrequenceL

unsigned long itk::AdaptiveStochasticLBFGSOptimizer::m_UpdateFrequenceL {}
protected

The PreviousGradient, necessary for the CruzAcceleration

Definition at line 137 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UseAdaptiveStepSizes

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseAdaptiveStepSizes { true }
protected

Definition at line 139 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UseSearchDirForAdaptiveStepSize

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseSearchDirForAdaptiveStepSize {}
protected

Definition at line 138 of file itkAdaptiveStochasticLBFGSOptimizer.h.



Generated on 1768596610 for elastix by doxygen 1.15.0 elastix logo