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实现各种排序算法的代码示例总结
Dec 11 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
django+mysql的使用示例
Nov 23 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
python如何实现不可变字典inmutabledict
Jan 08 Python
Python如何合并多个字典或映射
Jul 24 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
PHP中Array相关函数简介
2016/07/03 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
js内置对象 学习笔记
2011/08/01 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
在Python程序中实现分布式进程的教程
2015/04/28 Python
python+opencv识别图片中的圆形
2020/03/25 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
python dumps和loads区别详解
2020/02/04 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
实用的简历自我评价
2014/03/06 职场文书
党员干部承诺书
2014/03/25 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书