任何人都知道是否有一种方法可以防止使用gpus'内存分配日志来防止tensorflow污染标准错误?我注意到执行以下命令时:
with tf.Session() as sess:
Run Code Online (Sandbox Code Playgroud)
tensorflow在标准错误上打印关于内存和gpu资源分配的日志.就像是:
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 48
Graphics Device pciBusID 0000:02:00.0
Free memory: 11.75GiB
...
Run Code Online (Sandbox Code Playgroud)
出于重要原因,我想避免这种印刷.
mrr*_*rry 14
这最近已修复,如果您升级到TensorFlow 0.12或更高版本,则应该可用.
要禁用TensorFlow的所有日志记录输出,请在启动Python之前设置以下环境变量:
$ export TF_CPP_MIN_LOG_LEVEL=3
$ python ...
Run Code Online (Sandbox Code Playgroud)
您还可以通过更改以下值来调整详细程度TF_CPP_MIN_LOG_LEVEL:
INFO不打印消息INFO并且WARNING不打印消息INFO,, WARNING和ERROR不打印消息sin*_*ium 11
您可以按照第一个答案中所述在启动 Python 之前设置环境变量,也可以将以下行添加到 Python 代码中:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
Run Code Online (Sandbox Code Playgroud)
根据您想要避免的消息,将 3 更改为值 (0, 1, 2, 3)。
如果使用 TensorFlow 2.0+,请确保将这些行放在前面import tensorflow才能有效。