Ubuntu环境禁止TensorFlow打印Warning
在运行tensorflow代码时经常发现tensorflow会给出许多Warning,要是这些Warning有用就算了,关键是这些提示对于调试程序无关紧要,甚至会使我们分不清楚哪些输出是在Debug过程中的输出。那么怎么才能在程序中禁止Warning的打印呢?
关于这个网上也有一些解答,主要有两种吧!
import warnings
warnings.filterwarnings(“ignore”)
import os
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = ‘2’
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]='1'
# 默认的显示等级,显示所有信息
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2'
# 只显示 warning 和 Error
os.environ["TF_CPP_MIN_LOG_LEVEL"]='3'
# 只显示 Error
或许这些在Windows系统上有作用,但是在Ubuntu系统上并没有什么效果。
也专门找了适用于ubuntu系统的方法,如下
ubuntu 中打开命令行,执行如下指令
vim ~/.bashrc
进入配置文件后在文件末尾加上:
export TF_CPP_MIN_LOG_LEVEL=2
保存退出,再使用下面命令使刚才修改的配置有效
source ~/.bashrc
但是在尝试过后还是发现没有效果,会出现的Warning还是如约而至!
之后找到了一个比较靠谱的方法,具体如下:
对于 TF 1.X版本
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
对于 TF 2.X版本
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.ERROR)
在使用了以上方法之后warning成功被禁止输出。
以下是参考的一些博文:
正确禁用方式:https://blog.csdn.net/limingxin007/article/details/108555462
其他禁用方式:https://www.cnblogs.com/zishu/p/11199233.html
https://blog.csdn.net/sunnyyan/article/details/89022487
https://www.cnblogs.com/yanmk/p/8855746.html
以上便是在禁用tensorflow输出Warning过程中的一些记录,希望有所帮助。