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)
