1. 前言
部署Caffe相关项目的时候,对于日志的处理有些时候是直接输出到标准输出流的(严重鄙视-_-||),这样的话就会造成最后的日志文件里面好几万好几万行的模型加载日志,这样查询出错的原因很不好查。标准化日志不就没那么多破事了么……,要想办法把这个打印的日志去掉是有办法的,这里就要涉及到GLOG中的日志等级,在其中一共有4个GLOG日志层级可选:
日志等级 | 解释 |
---|---|
0 | debug |
1 | info (still a LOT of outputs) |
2 | warnings |
3 | errors |
2. C++程序日志开关
C++编写的代码可以在模型加载之前添加如下两行:
google::InitGoogleLogging("XXX");
google::SetCommandLineOption("GLOG_minloglevel", "2");
编译时添加lib
-lgflags
否则报错:
undefined reference to symbol '_ZN6google20SetCommandLineOptionB5cxx11EPKcS1_'
error adding symbols: DSO missing from command line
3. Python脚本环境
# coding: utf-8
pycaffe_dir = '/home/xx/work/caffe-BVLC/python'
import sys
sys.path.insert(0, pycaffe_dir)
os.environ['GLOG_minloglevel'] = '2'
import caffe
这里需要注意的是:要写在所有import的最前面,避免import的库里面使用了glog造成设置失败。