【问题标题】:INFO:tensorflow:Summary name conv2d_1/kernel:0 is illegalINFO:tensorflow:Summary name conv2d_1/kernel:0 是非法的
【发布时间】:2017-12-06 07:11:39
【问题描述】:

我正在尝试在 keras 中使用 tensorboard 回调。当我使用 tensorboard 回调运行预训练的 inceptionv3 模型时,我收到以下警告:

INFO:tensorflow:Summary name conv2d_95/kernel:0 是非法的;改用 conv2d_95/kernel_0。

我在Github 上看到了解决此问题的评论。 SeaFX 在他的评论中指出,他通过用 variable.name.replace(':','_') 替换 variable.name 解决了这个问题。我不确定该怎么做。谁能帮帮我吗。在此先感谢:)

【问题讨论】:

    标签: warnings summary tensorboard


    【解决方案1】:

    不确定是否可以使用名称替换,但可能足以满足您需求的解决方法是:

    import tensorflow as tf
    tf.logging.set_verbosity(tf.logging.WARN)
    
    import keras
    

    这将关闭所有 INFO 级别的日志记录,但保留警告、错误等。

    请参阅this question,了解有关各种日志级别和更改它们的讨论。就我个人而言,我发现设置 TF_CPP_MIN_LOG_LEVEL 环境变量在 Jupyter notebook 下不起作用,但我还没有在基础 Python 上进行测试。

    【讨论】:

    • 这不是一个正确的答案
    • 如果您有建议,我愿意改进它?
    • 放置 tf.logging.set_verbosity(tf.logging.WARN) 它将隐藏所有不好的信息级别日志消息。如果你想解决一个问题需要找到什么是根本课程,绕过它会解决一些副作用的问题:)
    • 在我的情况下,原因是来自其他库和网络示例的命名约定,不幸的是,更改这些约定是不切实际的。同意您会错过其他信息级别的消息,这些消息可能并不理想,但对于我的情况来说,这可能是整理输出的有用解决方法。
    猜你喜欢
    • 2019-11-24
    • 2014-03-17
    • 2015-04-11
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多