将GLOG_minloglevel设置为1以防止从Caffe中的Shell输出

24

我正在使用Caffe,加载神经网络时会在终端输出大量内容。
我想要抑制这些输出,据说可以在运行Python脚本时设置GLOG_minloglevel=1来实现。我已尝试使用以下代码进行设置,但仍然会得到从加载网络中获得的所有输出。如何正确地抑制输出?

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

50

为了抑制输出级别,您需要将日志级别至少提高到2

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

级别如下:

0 - 调试
1 - 信息(仍然有很多输出)
2 - 警告
3 - 错误


更新:
由于此标志是全局的,需要在导入caffe包之前设置它(正如jbum所指出的)。一旦设置了标志并导入了caffe,则无法更改GLOG工具的行为。


1
minloglevel 表示记录此级别及以上的日志信息。其中,INFO、WARNING、ERROR 和 FATAL 的严重程度分别为 0、1、2 和 3。 http://rpg.ifi.uzh.ch/docs/glog.html - Till
在PyCharm中,您可以按以下方式设置环境变量:1)单击菜单项“运行” - “编辑配置...” 2)在“配置”选项卡的“环境”组中找到“环境变量:”,然后单击最右侧的“...”图标3)单击“+”并设置名称“GLOG_minloglevel”及其值为“2”或您想要的任何值。您不需要在“import caffe”之前使用“os.environ ['GLOG_minloglevel'] ='2'”,也不需要重新启动PyCharm会话。 - Hongsoog

28

我成功地使用了Shai的解决方案,但是只有在调用之前用Python执行了那行代码才有效。

import caffe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接