任何人都知道是否有一种方法可以防止使用gpus'内存分配日志来防止tensorflow污染标准错误? 我注意到执行以下命令时:
with tf.Session() as sess:
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
...
出于重要原因,我想避免这种印刷。
答案 0 :(得分:10)
这是最近修复的,如果你升级到TensorFlow 0.12或更高版本,它应该可用。
要禁用TensorFlow的所有日志记录输出,请在启动Python之前设置以下环境变量:
$ export TF_CPP_MIN_LOG_LEVEL=3
$ python ...
您还可以通过更改TF_CPP_MIN_LOG_LEVEL
:
INFO
条消息INFO
和WARNING
条消息INFO
,WARNING
和ERROR
条消息答案 1 :(得分:1)
默认为0,因此显示所有日志。将TF_CPP_MIN_LOG_LEVEL设置为1以过滤掉INFO日志,将2设置为过滤掉WARNING,3以另外过滤掉ERROR。
答案 2 :(得分:1)
您可以按照第一个答案中的描述在启动Python之前设置环境变量,也可以在Python代码中添加以下行:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
根据您要使用的消息将3更改为值(0、1、2、3)。
PS::如果您使用的是TensorFlow => 2.0,请确保在导入tensorflow之前先放置这些行,以使其生效。