首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将TensorFlow日志重定向到文件?

如何将TensorFlow日志重定向到文件?
EN

Stack Overflow用户
提问于 2016-11-12 12:45:30
回答 4查看 26.7K关注 0票数 30

我使用的是TensorFlow-Slim,它有一些有用的日志由tf.logging打印到控制台。我想将这些日志重定向到一个文本文件,但找不到这样做的方法。我查看了tf_logging.py源代码,它公开了以下内容,但似乎没有将日志写入文件的选项。如果我遗漏了什么,请告诉我。

代码语言:javascript
复制
__all__ = ['log', 'debug', 'error', 'fatal', 'info', 'warn', 'warning',
           'DEBUG', 'ERROR', 'FATAL', 'INFO', 'WARN',
           'flush', 'log_every_n', 'log_first_n', 'vlog',
           'TaskLevelStatusMessage', 'get_verbosity', 'set_verbosity']
EN

回答 4

Stack Overflow用户

发布于 2017-06-01 08:20:17

代码语言:javascript
复制
import logging

# get TF logger
log = logging.getLogger('tensorflow')
log.setLevel(logging.DEBUG)

# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# create file handler which logs even debug messages
fh = logging.FileHandler('tensorflow.log')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
log.addHandler(fh)

我的解决方案的灵感来自于this thread

票数 32
EN

Stack Overflow用户

发布于 2016-11-12 13:19:54

你说得对,没有什么旋钮可以让你这么做。

如果你真的,肯定地,绝对不能接受,tf.logging是基于python日志记录的。所以,import logging tf.logging._logger.basicConfig(filename='tensorflow.log', level=logging.DEBUG)

请注意,您自己在不受支持的路径上,并且该行为随时可能中断。

您也可以在我们的github issue页面上提交功能请求。

票数 5
EN

Stack Overflow用户

发布于 2020-03-25 08:19:16

一种简单的解决方法是将命令行的输出定向到文件。例如,

代码语言:javascript
复制
python training.py 1> output.log 2> error.log
# 1 for stdout stream and 2 for stderr stream

根据公认的答案,这样做的好处是您可以获得所有的日志。原因是并不是所有的日志都来自python (记住运行时是用C++实现的)。例如,通过设置环境变量,您可以获得非常有用的调试日志(包括有关张量内存分配的信息)。

代码语言:javascript
复制
import os
os.environ['TF_CPP_MIN_VLOG_LEVEL'] = '3'

(使用CAUTION执行此操作。日志记录的数量惊人。)

要了解日志记录是如何在C++中实现的,

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/default/logging.h https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/default/logging.cc

特别是,它看起来像是将日志消息写入到stderr中的这一行:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/default/logging.cc#L73

我引用了讨论here中的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40559667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档