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中Genarator函数用法分析
Apr 08 Python
Python函数返回值实例分析
Jun 08 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
Python入门学习指南分享
Apr 11 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
python 合并多个excel中同名的sheet
Jan 22 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
python定义具名元组实例操作
Feb 28 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
php搜索文件程序分享
2015/10/30 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
python 多线程应用介绍
2012/12/19 Python
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python中pika模块问题的深入探究
2018/10/13 Python
对python中的argv和argc使用详解
2018/12/15 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
Python 实现数组相减示例
2019/12/27 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
python MD5加密的示例
2020/10/19 Python
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
写给妈妈的道歉信
2014/01/11 职场文书
医疗纠纷协议书
2014/04/16 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
悬空寺导游词
2015/02/05 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python