如何在输出窗口隐藏TensorFlow日志信息?
解决TensorFlow迭代时输出大量INFO概率日志的问题
嘿,作为Python新手碰到这种满屏的TensorFlow日志输出确实挺闹心的!我来帮你快速搞定这个问题~
问题原因
TensorFlow默认会输出INFO级别的日志信息,你看到的这些概率矩阵就是每次迭代时TensorFlow自动打印的INFO日志,用来展示模型输出的概率分布,但对于新手跟进教程来说,这些输出反而会干扰你关注关键的运行结果。
解决方案
这里有两种简单有效的方法可以抑制这些多余的日志:
方法1:在代码中直接设置日志级别
在你的Python代码最开头添加以下代码,就能把TensorFlow的日志级别调到ERROR,只保留错误信息输出:
import tensorflow as tf # 将TensorFlow日志级别设置为ERROR,抑制INFO和WARNING tf.get_logger().setLevel('ERROR')
或者也可以用Python标准的logging模块来配置:
import logging # 针对tensorflow日志器设置级别为ERROR logging.getLogger("tensorflow").setLevel(logging.ERROR)
方法2:通过PyCharm运行配置添加环境变量
如果你不想修改代码,可以在PyCharm的运行配置里添加环境变量来控制日志:
- 打开PyCharm的「Run/Debug Configurations」
- 在「Environment variables」里点击添加按钮
- 添加变量名
TF_CPP_MIN_LOG_LEVEL,变量值设置为3(3代表只显示ERROR及以上级别日志)
可选调整
如果你偶尔还想看到警告信息(比如模型可能存在的小问题),可以把日志级别调到WARNING:
tf.get_logger().setLevel('WARNING')
或者把环境变量值设为2,这样就会过滤掉INFO日志,只保留WARNING和ERROR信息。
内容的提问来源于stack exchange,提问作者Digol
相关产品推荐
相关产品推荐

