2015-04-22 11 views
19

Sto usando Caffe, che sta stampando un sacco di output sulla shell durante il caricamento della rete neurale.
Vorrei eliminare quell'output, che presumibilmente può essere eseguito impostando GLOG_minloglevel=1 quando si esegue lo script Python. Ho provato a farlo utilizzando il seguente codice, ma ottengo ancora tutto l'output dal caricamento della rete. Come posso sopprimere l'output correttamente?Impostazione GLOG_minloglevel = 1 per impedire l'output nella shell da Caffe

os.environ["GLOG_minloglevel"] = "1" 
net = caffe.Net(model_file, pretrained, caffe.TEST) 
os.environ["GLOG_minloglevel"] = "0" 

risposta

37

di sopprimere il livello di uscita è necessario aumento il livello di log per almeno 2

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

I livelli sono

0 - di debug
1 - info (ancora molto di uscite)
2 - avvisi
3 - errori


Aggiornamento:
Poiché questo flag è globale a caffe, esso deve essere impostato prima per l'importazione di caffe pacchetto (come sottolineato da jbum). Una volta impostato il flag e importato caffe, il comportamento dello strumento GLOG non può essere modificato.

24

sono stato in grado di ottenere Shai's solution al lavoro, ma solo mediante l'esecuzione di quella linea in Python prima chiamare

import caffe