mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 08:34:37 +08:00
Make the Evaluator statistics key strings consistent
We keep track of evaluator call and time statistics via a hashmap containing magic strings. These strings need to be consistent across the GradientProblemSolver and Solver as the LineSearchMinimizer is used by both of these solvers. Previously they were inconsistent in a manner that GradientProblemSolver was not getting information about the evaluation timing, and in the process of fixing that I made it so that the TrustRegionMinimizer when solving bounds constrained probelms will access/update this information correctly. So while I look for a more elegant solution, this CL is meant to fix the inconsistency by making sure that the same magic strings are used everywhere. Change-Id: I120ca0bd1c2f77fde2db15edd9e33286a49dbae9
This commit is contained in:
@@ -166,15 +166,15 @@ void GradientProblemSolver::Solve(const GradientProblemSolver::Options& options,
|
||||
const std::map<string, double>& evaluator_time_statistics =
|
||||
minimizer_options.evaluator->TimeStatistics();
|
||||
summary->cost_evaluation_time_in_seconds =
|
||||
FindWithDefault(evaluator_time_statistics, "Evaluator::Cost", 0.0);
|
||||
FindWithDefault(evaluator_time_statistics, "Evaluator::Residual", 0.0);
|
||||
summary->gradient_evaluation_time_in_seconds =
|
||||
FindWithDefault(evaluator_time_statistics, "Evaluator::Gradient", 0.0);
|
||||
FindWithDefault(evaluator_time_statistics, "Evaluator::Jacobian", 0.0);
|
||||
const std::map<string, int>& evaluator_call_statistics =
|
||||
minimizer_options.evaluator->CallStatistics();
|
||||
summary->num_cost_evaluations =
|
||||
FindWithDefault(evaluator_call_statistics, "Evaluator::Cost", 0);
|
||||
FindWithDefault(evaluator_call_statistics, "Evaluator::Residual", 0);
|
||||
summary->num_gradient_evaluations =
|
||||
FindWithDefault(evaluator_call_statistics, "Evaluator::Gradient", 0);
|
||||
FindWithDefault(evaluator_call_statistics, "Evaluator::Jacobian", 0);
|
||||
summary->total_time_in_seconds = WallTimeInSeconds() - start_time;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user