[Insight-developers] New GetStopConditionDescription() for itkOptimizers

Bill Lorensen bill.lorensen at gmail.com
Wed Jun 10 13:58:50 EDT 2009


Sounds like a good idea. Also, if it has not yet started, it should
report something meaningful.

On Wed, Jun 10, 2009 at 1:40 PM, Luis Ibanez<luis.ibanez at kitware.com> wrote:
>
> Bill,
>
> This sounds like a very useful feature to have.
>
> The only question I have at this point is:
>
> What should the method return if it is called before
> the optimizer stops ?
>
> Maybe something like
> "Still Running"  ?
>
>
>        Luis
>
>
> -------------------------------------
> On Wed, Jun 10, 2009 at 12:53 PM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
>>
>> Folks,
>>
>> I'd like to add a new method to itkOptimizer and its subclasses. The new
>> method,
>>
>> GetStopConditionDescription() returns a const string that describes
>> the stop condition of the optimizers. Currently, each optimizer
>> returns a StopCondition that is an enum. The new method contains
>> useful information depending on the optimizer. The itkOptimizer base
>> class method returns "Optimizer did not provide a stop condition
>> description".
>>
>> I instrumented the Examples/Registration examples to report the stop
>> condition description. Here is a sampling:
>>
>> GradientDescentOptimizer: Maximum number of iterations (200) exceeded.
>> RegularStepGradientDescentOptimizer: Step too small after 17
>> iterations. Current step (0.0078125) is less than minimum step (0.01).
>> RegularStepGradientDescentOptimizer: Gradient magnitude tolerance met
>> after 43 iterations. Gradient magnitude (7.75281e-05) is less than
>> gradient magnitude tolerance (0.0001).
>> RegularStepGradientDescentOptimizer: Maximum number of iterations
>> (200) exceeded.
>> RegularStepGradientDescentOptimizer: Step too small after 22
>> iterations. Current step (0.00078125) is less than minimum step
>> (0.001).
>> GradientDescentOptimizer: Maximum number of iterations (200) exceeded.
>> AmoebaOptimizer: Both parameters convergence tolerance (0.25) and
>> function convergence tolerance (0.001) have been met in 27 iterations.
>> AmoebaOptimizer: Both parameters convergence tolerance (0.1) and
>> function convergence tolerance (0.001) have been met in 53 iterations.
>> LBFGSOptimizer: Failure
>> LBFGSBOptimizer: Function tolerance reached after 32 iterations. The
>> relative reduction of the cost function <= 2.22045e-09 =
>> CostFunctionConvergenceFactor (1e+07) * machine precision
>> (2.22045e-16).
>> LBFGSBOptimizer: Function tolerance reached after 29 iterations. The
>> relative reduction of the cost function <= 2.22045e-09 =
>> CostFunctionConvergenceFactor (1e+07) * machine precision
>> (2.22045e-16).
>>
>> Some need more work, e.g. LBFGSOptimizer.
>>
>> Bill
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>
>


More information about the Insight-developers mailing list