gpt4 book ai didi

c++ - Ceres 求解器 : unable to disable logging (google glog)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:23 25 4
gpt4 key购买 nike

我正在为一个项目使用 ceres 求解器,当我调用 ceres::Solve 函数时,库开始输出如下行:

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

我试图禁用这些中间步骤的日志记录,但到目前为止我没有成功。我在我的类的构造函数中调用这一行:

google::InitGoogleLogging("my-project");

我调用求解器时设置的选项是:

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);

在我看来,ceres 日志记录实际上已被禁用,但其依赖库(即 SuiteSparse)的日志记录却没有。

有人知道如何禁用这个烦人的日志吗?

最佳答案

我会首先验证您使用的是 glog 而不是 miniglog(在构建 ceres 时检查 CMake 的输出),因为两者不能很好地混合。然后您应该能够使用 glog 的 command line flags 设置详细级别.

此外,我认为 SILENT 应该有范围,即 options.logging_type = ceres::SILENT;

我正在使用 miniglog,我也看到了这些消息。

编辑:This recent patch也可能对您有所帮助。

关于c++ - Ceres 求解器 : unable to disable logging (google glog),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21410982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com