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 07 Python
Python处理CSV与List的转换方法
Apr 19 Python
python实现傅里叶级数展开的实现
Jul 21 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
使用Python实现毫秒级抢单功能
Jun 06 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
python实现四人制扑克牌游戏
Apr 22 Python
Python几种常见算法汇总
Jun 02 Python
keras中的loss、optimizer、metrics用法
Jun 15 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 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
记录mysql性能查询过程的使用方法
2013/05/02 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
use jscript List Installed Software
2007/06/11 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
layui实现table加载的示例代码
2018/08/14 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
JS实现拼图游戏
2021/01/29 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
简介Django中内置的一些中间件
2015/07/24 Python
python取均匀不重复的随机数方式
2019/11/27 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
python/golang 删除链表中的元素
2020/09/14 Python
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
应届行政管理专业个人自我评价
2013/12/28 职场文书
幼儿教师求职信
2014/05/24 职场文书
承诺书格式范文
2014/06/03 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
长江七号观后感
2015/06/11 职场文书
拙作再改《我的收音机情缘》
2022/04/05 无线电