From ff050b82d9ba4c788bcb5595321d719eba3e3f83 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Thu, 31 Oct 2013 03:19:09 +0000 Subject: [PATCH] Log *before* iteration starts --- .../nonlinear/LevenbergMarquardtOptimizer.cpp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp b/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp index 64d23834d..f96639ba5 100644 --- a/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp +++ b/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp @@ -78,6 +78,18 @@ GaussianFactorGraph::shared_ptr LevenbergMarquardtOptimizer::linearize() const { /* ************************************************************************* */ void LevenbergMarquardtOptimizer::iterate() { + // Log current error/lambda to file + if (!params_.logFile.empty()) { + ofstream os(params_.logFile.c_str(), ios::app); + + timeval rawtime; + gettimeofday(&rawtime, NULL); + double currentTime = rawtime.tv_sec + rawtime.tv_usec / 1000000.0; + + os << state_.iterations << "," << currentTime-state_.startTime << "," + << state_.error << "," << state_.lambda << endl; + } + gttic(LM_iterate); // Linearize graph @@ -173,17 +185,6 @@ void LevenbergMarquardtOptimizer::iterate() { if (lmVerbosity >= LevenbergMarquardtParams::LAMBDA) cout << "using lambda = " << state_.lambda << endl; - if (!params_.logFile.empty()) { - ofstream os(params_.logFile.c_str(), ios::app); - - timeval rawtime; - gettimeofday(&rawtime, NULL); - double currentTime = rawtime.tv_sec + rawtime.tv_usec / 1000000.0; - - os << state_.iterations << "," << currentTime-state_.startTime << "," - << state_.error << "," << state_.lambda << endl; - } - // Increment the iteration counter ++state_.iterations; }