caffe關閉建立網絡的log輸出


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
  1. 也許你代碼中的第一次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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM