如何设置和关闭caffe的日志系统(glog)

前言

首先我们知道caffe项目用的日志系统是谷歌的开源日志系统glog。如果你自己构建了一个基于caffe的项目,然后如果你也不知道如何去设置日志系统。那么会发生下面这样的事
这里写图片描述

在一句warnning后,所有caffe源码中的LOG都会输出到控制台上,正如这句wannring所表达的意思一样,你没用InitGoogleLogging初始化,默认日志全部输出到STDERR(默认为控制台)上。

定位源码

在libcaffe中我们找到了这个初始化函数如何设置和关闭caffe的日志系统(glog)_第1张图片
然后我们就可以根据glog的用法在这后面添加你要的操作了(具体百度glog用法)
举2个例子:

1 如果你不需要这些日志输出的话,在后面加上google::ShutdownGoogleLogging();关闭日志系统即可

2 如果你想把信息重定位到特定文件可以这么做

  google::SetLogDestination(google::GLOG_FATAL, "log_caffe_err.log");
  google::SetLogDestination(google::GLOG_ERROR, "log_caffe_err.log");
  google::SetLogDestination(google::GLOG_WARNING, "log_caffe_err.log");
  google::SetLogDestination(google::GLOG_INFO, "log_caffe_info.log");

应用

我们修改的是void GlobalInit(int* pargc, char*** pargv)的函数体,然而这个函数并不会在libcaffe里面自己调用,也就是说如果你不手动调用的话,这段代码怎么改都不会对你项目有改变,还是会默认输出到stderr中。所以你需要在你的项目中调用这个函数GlobalInit。调用方法参考caffe.exe的实现入口处——caffe.cpp
如何设置和关闭caffe的日志系统(glog)_第2张图片
很简单,在使用caffe库前调用一句就行了。

你可能感兴趣的:(DL框架)