TensorFlow设置日志级别的几种方式小结
TensorFlow中的log共有INFO、WARN、ERROR、FATAL4种级别。有以下几种设置方式。
1.通过设置环境变量控制log级别
可以通过环境变量TF_CPP_MIN_LOG_LEVEL进行设置,TF_CPP_MIN_LOG_LEVEL的不同值的含义分别如下:
Level | LevelforHumans | LevelDescription |
---|---|---|
0 | DEBUG | allmessagesarelogged( |
1 | INFO | INFOmessagesarenotprinted |
2 | WARNING | INFOandWARNINGmessagesarenotprinted |
3 | ERROR | INFO,WARNING,andERRORmessagesarenotprinted |
设置TF_CPP_MIN_LOG_LEVEL的值,屏蔽该级别以及更低级别的日志,如:设置为1,表示屏蔽自己级别的INFO和更低级别的DEBUG日志。
设置环境变量,有两种方式,一种是永久设置,一种临时性设置。
永久设置
修改环境变量:将exportTF_CPP_MIN_LOG_LEVEL=1加入到Linux的~/.bashrc、~/.zshrc或/etc/profile配置文件中,其中加入到/etc/profile文件是对所有用户都有效。可以在配置文件中设置为1或者2,不建议设置为更高级别的3.
临时性设置
终端中输入exportTF_CPP_MIN_LOG_LEVEL="1"
python代码实现方法
importos os.environ['TF_CPP_MIN_LOG_LEVEL']="1"
ps:os.environ是一个mapping,一系列的键、值对存储在该mapping中,系统环境信息全部存储在该mapping中。如果是print(os.environ['HOME'])这样输出信息,调用的是getenv("HOME")函数,如果环境变量被改变,将会调用putenv()函数进行修改。
python代码中一种错误的设置方法:
os.system("exportTF_CPP_MIN_LOG_LEVEL=1")–错误用法
不能使用的原因—不能通过shell的子进程改变shell的环境变量—具体可以参考stackoverflowalex的回答。
2.通过tf.logging模块进行设置–推荐
python代码中可以添加如下部分代码进行设置。
importtensorflowastf tf.logging.set_verbosity(tf.logging.ERROR)
tf.logging.ERROR可以换成{DEBUG,INFO,WARN,ERROR,FATAL}中的任何一个。
这里有所不同,设置ERROR,将输出ERROR、FATAL级别日志。
代码测试:
defmain(self): tf.logging.set_verbosity(tf.logging.ERROR) tf.logging.debug("debug") tf.logging.info("info") tf.logging.warning("warning") tf.logging.error("error") tf.logging.fatal("fatal") if__name__=='__main__': tf.app.run()
运行上述代码,可以获得ERROR、FATAL级别日志。
以上这篇TensorFlow设置日志级别的几种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。