TensorFlow设置日志级别的几种方式小结


Posted in Python onFebruary 04, 2020

TensorFlow中的log共有INFO、WARN、ERROR、FATAL 4种级别。有以下几种设置方式。

1. 通过设置环境变量控制log级别

可以通过环境变量TF_CPP_MIN_LOG_LEVEL进行设置,TF_CPP_MIN_LOG_LEVEL的不同值的含义分别如下:

Level Level for Humans Level Description
0 DEBUG all messages are logged (Default)
1 INFO INFO messages are not printed
2 WARNING INFO and WARNING messages are not printed
3 ERROR INFO, WARNING, and ERROR messages are not printed

设置TF_CPP_MIN_LOG_LEVEL的值,屏蔽该级别以及更低级别的日志,如:设置为1,表示屏蔽自己级别的INFO和更低级别的DEBUG日志。

设置环境变量,有两种方式,一种是永久设置,一种临时性设置。

永久设置

修改环境变量:将export TF_CPP_MIN_LOG_LEVEL=1加入到Linux的 ~/.bashrc、~/.zshrc或/etc/profile配置文件中,其中加入到/etc/profile文件是对所有用户都有效。可以在配置文件中设置为1或者2,不建议设置为更高级别的3.

临时性设置

终端中输入export TF_CPP_MIN_LOG_LEVEL="1"

python代码实现方法

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = "1"

ps:os.environ是一个mapping,一系列的键、值对存储在该mapping中,系统环境信息全部存储在该mapping中。如果是print(os.environ['HOME'])这样输出信息,调用的是getenv("HOME")函数,如果环境变量被改变,将会调用putenv()函数进行修改。

python代码中一种错误的设置方法:

os.system("export TF_CPP_MIN_LOG_LEVEL=1") ? 错误用法

不能使用的原因 — 不能通过shell的子进程改变shell的环境变量 — 具体可以参考 stackoverflow alex的回答。

2.通过 tf.logging 模块进行设置 ? 推荐

python代码中可以添加如下部分代码进行设置。

import tensorflow as tf
tf.logging.set_verbosity(tf.logging.ERROR)

tf.logging.ERROR可以换成 {DEBUG, INFO, WARN, ERROR, FATAL} 中的任何一个。

这里有所不同,设置ERROR,将输出ERROR、FATAL级别日志。

代码测试:

def main(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设置日志级别的几种方式小结

以上这篇TensorFlow设置日志级别的几种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
Jul 13 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
python 二维数组90度旋转的方法
Jan 28 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
Pandas 缺失数据处理的实现
Nov 04 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
Python callable内置函数原理解析
Mar 05 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 Python
运行python提示no module named sklearn的解决方法
Nov 29 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 #Python
解决tensorflow打印tensor有省略号的问题
Feb 04 #Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 #Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 #Python
在TensorFlow中屏蔽warning的方式
Feb 04 #Python
Python和Anaconda和Pycharm安装教程图文详解
Feb 04 #Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 #Python
You might like
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
js获取视频时长代码
2014/04/10 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
js实现数字滚动特效
2019/12/16 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
超市营业员求职简历的自我评价
2013/10/17 职场文书
学校四风对照检查材料
2014/08/28 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
公司的力量观后感
2015/06/05 职场文书
教师读书活动心得体会
2016/01/14 职场文书