Ceres Solver:无法禁用日志记录(google glog)

2023-12-31

我在一个项目中使用 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 设置详细级别命令行标志 http://google-glog.googlecode.com/svn/trunk/doc/glog.html.

另外,我认为SILENT应该限定范围,即options.logging_type = ceres::SILENT;

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

Edit: 最近的这个补丁 https://ceres-solver.googlesource.com/ceres-solver/+/f55780063620e7a3dcfe7e018d6488bf6a5b29da也可能对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ceres Solver:无法禁用日志记录(google glog) 的相关文章

随机推荐

  • WPF 沿路径绘制箭头

    只是想知道我如何沿着路径绘制箭头 路径将改变方向并经过几个不同的点 箭头旨在向用户显示他们需要沿着路径行进的方向 我尝试过使用画笔 但它不起作用 因为我需要箭头来沿着路径调整它们的方向 See 路径动画概述 http msdn micros
  • 矢量push_back移动实现

    在我的教科书中 向量push back移动实现的实现是 void push back Object x if theSize theCapacity reserve 2 theCapacity 1 objects theSize std m
  • 何时处置带有子任务的 System.Threading.Task?

    我有一个启动多个子任务的任务 例如 任务 A 创建 B C D E F 我还创建了一个System Threading Timer每 10 秒轮询一次数据库以检查计划项目是否已按请求取消 如果是 则设置CancellationTokenSo
  • Java 8 和 Spring 4:在界面中使用自动装配

    Java 8 添加了一个新功能 通过该功能我们可以在接口中提供方法实现 Spring 4中有没有什么方法可以让我们在接口中注入可以在方法体内使用的bean 下面是示例代码 public interface TestWiring Autowi
  • 为什么 print("text" + str(var1) + "more text" + str(var2)) 被描述为“未批准”?

    为什么下面的代码在 Snakes and Coffee 对 Blender 的帖子的评论中被称为 古老的不被批准的打印方法 在python中打印多个参数 https stackoverflow com questions 15286401
  • Java Apache Commons getPercentile() 结果与 MS Excel 百分位数不同

    我有一个算法可以计算percentile 85 with Apache Commons一系列值 12 个值 供以后使用阈值进行评估以做出决定 结果与 Excel 给出的结果类似 但不相等 有时这对我的应用程序至关重要 因为使用 Excel
  • 如何在 C# 中将我自己的 wsdl 包含在我的 Web 服务中

    我有一个 wsdl 文件 我的 Web 服务 旧的 asmx 样式 必须实现它 这已得到照顾 当我发布 Web 服务时 您可以使用 wsdl 参数调用它以获取生成的 wsdl 如何包含我的 wsdl 文件 以便返回该文件而不是生成的文件 是
  • 语法错误:找不到或无法读取要导入的文件:foundation/common/ratios

    我安装了 Foundation 当我编辑并保存 app scss 文件时 它会在项目的 sass 文件夹中创建一个 app css 和一个 config rb 文件 当我打开 app css 文件时我得到这个 Syntax error Fi
  • 按对象的 NSDate 属性对对象数组进行排序[重复]

    这个问题在这里已经有答案了 可能的重复 如何对其中包含自定义对象的 NSMutableArray 进行排序 https stackoverflow com questions 805547 how to sort an nsmutablea
  • 如何使用nodejs/express上传和读取文件

    有各种各样关于此的帖子 但我仍然不明白 我想上传 csv 并读取和处理其内容 我的玉文件是这个 views import jade extends layout block content h1 title form action impo
  • 扩展 Google 地图 + D3 示例以添加路径或线路

    我正在尝试修改这个Google 地图 D3 示例 http bl ocks org 1125458包括点之间的线 我采取的方法是为每行添加新的 svg 元素 我成功创建了一组新的 svg 元素 var markerLink layer se
  • Java 字符串参数

    我来自 net 背景 想知道创建返回布尔值并修改通过参数传入的字符串的方法的可接受方式 我知道字符串在 Java 中是不可变的 因此下面的代码片段将始终生成一个空字符串 我只能返回布尔值 不能抛出异常 如果我需要将 String 类包装在
  • 301 重定向在 WordPress 中无法通过 .htaccess 工作

    我尝试在 WordPress 中的 htaccess 文件中应用两个 301 重定向 但收到 404 错误 这是我所拥有的 BEGIN WordPress
  • C++ 参数协方差

    我想知道为什么 C 不支持参数的协方差 如下例所示 或者是否有办法实现它 class base public virtual base func base ptr return new base class derived public b
  • C#中抽象类不能被密封?

    我在某处读过 抽象和密封修饰符相当于静态类 我还发现 当你声明一个静态类时 编译器会在内部将该类标记为抽象和密封 并在 IL 代码中创建一个私有构造函数 所以 我决定这样做 static class A public static void
  • Vue.js:vuex 操作中未捕获的承诺

    我了解 vuex actions 返回承诺 但我还没有找到处理错误的理想模式在 vuex 中 我当前的方法是在我的 axios 插件上使用错误拦截器 然后将错误提交到我的 vuex 存储 in 插件 axios js export defa
  • System.Net.FtpClient openwrite 不会上传文件,除非我在退出前插入睡眠

    我正在使用 System Net FtpClient 程序集将文件上传到测试 FTP 站点 当我运行下面的代码时 文件不会出现在远程位置 除非我按照下面的方式使用 Thread Sleep 我不想使用 using System using
  • 如何知道哪个列表项对用户可见?

    我通过我的应用程序录制了视频 并将其存储在存储卡中 在我获取这些视频并将其添加到列表视图后 根据屏幕尺寸 用户只能看到一个视频 如果用户上下滚动并停止 那时我想知道哪一个在用户面前 如果有人知道解决方案请帮助我 或任何其他方法 提前致谢 好
  • Apache Lucene TokenStream 合同违规

    使用 Appache Lucene TokenStream 删除停用词 导致错误 TokenStream contract violation reset close call missing reset called multiple t
  • Ceres Solver:无法禁用日志记录(google glog)

    我在一个项目中使用 ceres 求解器 当我调用ceres Solve函数后 库开始输出如下行 iterative schur complement solver cc 88 No parameter blocks left in the