Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting GLOG_minloglevel=1 to prevent output in shell from Caffe

I'm using Caffe, which is printing a lot of output to the shell when loading the neural net.
I'd like to suppress that output, which supposedly can be done by setting GLOG_minloglevel=1 when running the Python script. I've tried doing that using the following code, but I still get all the output from loading the net. How do I suppress the output correctly?

os.environ["GLOG_minloglevel"] = "1"
net = caffe.Net(model_file, pretrained, caffe.TEST)
os.environ["GLOG_minloglevel"] = "0"
like image 591
pir Avatar asked Apr 22 '15 04:04

pir


2 Answers

To supress the output level you need to increase the loglevel to at least 2

 os.environ['GLOG_minloglevel'] = '2' 

The levels are

0 - debug
1 - info (still a LOT of outputs)
2 - warnings
3 - errors


Update:
Since this flag is global to caffe, it must be set prior to importing of caffe package (as pointed out by jbum). Once the flag is set and caffe is imported the behavior of the GLOG tool cannot be changed.

like image 71
Shai Avatar answered Nov 03 '22 07:11

Shai


I was able to get Shai's solution to work, but only by executing that line in Python before calling

import caffe
like image 44
jbum Avatar answered Nov 03 '22 05:11

jbum