C++
google::InitGoogleLogging("XXX");
google::SetCommandLineOption("GLOG_minloglevel", "2");
Python
# coding: utf-8
pycaffe_dir = '/home/zz/work/caffe-BVLC/python'
import sys
sys.path.insert(0, pycaffe_dir)
os.environ['GLOG_minloglevel'] = '2'
import caffe
注意:
1) 要在第一次import caffe
之前设定GLOG_minloglevel
,它其实就是个环境变量,因此不在python中而在shell中设定也可以;
2) 其实一共有4个GLOG日志层级可选:
0 - debug
1 - info (still a LOT of outputs)
2 - warnings
3 - errors
- 也许你代码中的第一次import caffe前就设定了
GLOG_minloglevel
,但是不起作用,终端还是输出一大堆东西。可能的原因:
-
你是不是import caffe之前import了其他代码,这些被import的代码中是不是有import caffe?
-
你是不是import了自行编译的cv2,而编译产生这个cv2.so的时候有混入glog?
查看你的cv2.so:
ipython
import imp
imp.import_module('cv2')
根据返回结果,来获得cv2.so的路径,看看是不是自己编译的cv2.so。至于为啥cv2.so能混入glog,这个锅主要由OpenCV官方来背,因为cv2.so依赖了libglog:
➜ opencv git:(master) ✗ ldd /usr/lib/python2.7/cv2.so | grep 'glog' -i
libglog.so.0 => /usr/lib/x86_64-linux-gnu/libglog.so.0 (0x00007fcf05033000)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:caffe关闭建立网络的log输出 - Python技术站