Add GradientProblemSolver::Options::update_state_every_iteration

The non-linear least squares solver had the ability to update the
user's parameters every iteration. Now GradientProblemSolver can
do the same.

Also a few minor Sphinx markup related cleanup to the documentation
which were found in the process of updating Sphinx on my machine
and adding the docs for this feature.

This fixes https://github.com/ceres-solver/ceres-solver/issues/246

Change-Id: Ib6b90ac22be8bfb60b14f25ad52082ba371af164
This commit is contained in:
Sameer Agarwal
2018-01-25 21:30:09 -08:00
parent 30b862d126
commit 202dd9f3a1
9 changed files with 146 additions and 16 deletions
+8
View File
@@ -77,6 +77,7 @@ class CERES_EXPORT GradientProblemSolver {
parameter_tolerance = 1e-8;
logging_type = PER_MINIMIZER_ITERATION;
minimizer_progress_to_stdout = false;
update_state_every_iteration = false;
}
// Returns true if the options struct has a valid
@@ -253,6 +254,13 @@ class CERES_EXPORT GradientProblemSolver {
// is sent to STDOUT.
bool minimizer_progress_to_stdout;
// If true, the user's parameter blocks are updated at the end of
// every Minimizer iteration, otherwise they are updated when the
// Minimizer terminates. This is useful if, for example, the user
// wishes to visualize the state of the optimization every
// iteration.
bool update_state_every_iteration;
// Callbacks that are executed at the end of each iteration of the
// Minimizer. An iteration may terminate midway, either due to
// numerical failures or because one of the convergence tests has