I'm using ceres solver for a project, and when I call the ceres::Solve
function, the library starts to output lines such as this one:
iterative_schur_complement_solver.cc:88 No parameter blocks left in the schur complement.
wall_time.cc:74
IterativeSchurComplementSolver::Solve
Delta Cumulative
Total : 0.00001 0.00001
I tried to disable the logging of these intermediate steps but I had no success so far. I'm calling this line on the constructor of my class:
google::InitGoogleLogging("my-project");
The options set when I call the solver are:
ceres::Solver::Options options;
options.preconditioner_type = ceres::SCHUR_JACOBI;
options.linear_solver_type = ceres::ITERATIVE_SCHUR;
options.logging_type = SILENT;
options.minimizer_progress_to_stdout = false;
ceres::Solver::Summary summary;
ceres::Solve(options, &problem, &summary);
It seems to me that the ceres logging is effectively disabled but the logging of its dependent libraries (i.e: SuiteSparse) isn't.
Does someone have an idea on how to disable this annoying log?
I would first verify that you are using glog and not miniglog (check through the output of CMake when you're building ceres), as the two don't mix well. Then you should be able to set the level of verbosity using glog's command line flags.
Also, I think the SILENT
should be scoped, i.e., options.logging_type = ceres::SILENT;
I'm using miniglog and I see these messages also.
Edit: This recent patch may also help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With