首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow的VLOG是如何工作的?

tensorflow的VLOG是如何工作的?
EN

Stack Overflow用户
提问于 2017-07-17 18:32:29
回答 1查看 5.1K关注 0票数 8

我使用VLOG来打印log,VLOG的定义如下:

代码语言:javascript
复制
#define VLOG_IS_ON(lvl) \
   ((lvl) <= ::tensorflow::internal::LogMessage::MinVLogLevel())
#endif

#define VLOG(lvl)      \
  if (TF_PREDICT_FALSE(VLOG_IS_ON(lvl))) \
  ::tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::INFO)

const int INFO = 0;            // base_logging::INFO;
const int WARNING = 1;         // base_logging::WARNING;
const int ERROR = 2;           // base_logging::ERROR;
const int FATAL = 3;           // base_logging::FATAL;
const int NUM_SEVERITIES = 4;  // base_logging::NUM_SEVERITIES;

如果我将最小日志级别配置为WARNING,我将使用导出TF_CPP_MIN_VLOG_LEVEL=1,我想要的是日志仅打印WARNING和including、TATAL,但事实是仅显示WARNING和INFO日志,它们由调用

代码语言:javascript
复制
VLOG(INFO) and VLOG(WARN)

这个结果合理吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-17 19:23:57

您可以通过TF_CPP_MIN_LOG_LEVEL (而不是TF_CPP_MIN_VLOG_LEVEL)控制日志级别,在本例中,您希望将其设置为1。

TF_CPP_MIN_VLOG_LEVEL引入了额外的调试信息,实际上是反过来工作的:它的默认值是0,并且随着它的增加,会记录更多的调试消息。

所以VLOG级别不是你通常的INFOWARNINGLOG级别,而是一些不同的,排名相反的东西。如果仔细查看代码,您会发现LOG与日志标签(LOG(INFO) << message)一起使用,而VLOG与普通数字(VLOG(2) << message)一起使用。

实际上,VLOG消息始终记录在INFO日志级别。这意味着在任何情况下,要查看任何VLOG消息,都需要TF_CPP_MIN_LOG_LEVEL为0。

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

https://stackoverflow.com/questions/45141895

复制
相关文章

相似问题

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