gpt4 book ai didi

tensorflow - TensorFlow 1.8 中的自定义日志处理程序

转载 作者:行者123 更新时间:2023-12-03 12:40:59 26 4
gpt4 key购买 nike

对于以前版本的 TensorFlow,我们一直在覆盖 tf.logging._logger 的处理程序获取在我们的 Python 代码库的其余部分中使用的自定义日志记录行为:

  • 标准化日志格式
  • 以 INFO 级别记录到 stdout 和 DEBUG 到文件
  • 在 GCP 上,使用易于搜索的字符串登录到 Stackdriver


  • 例如,在 TF 1.7 上,以下代码段(省略了一些日志记录样板)
        import tensorflow as tf
    tf.logging.set_verbosity(tf.logging.INFO)
    tf_logging = tf.logging._logger
    tf_logging.handlers = [_std_out_handler()]
    tf_logging.propagate = False
    _logging.info("EXPECTED LOG FORMAT")
    tf.logging.info("TF LOG FORMAT")

    生产
    [INFO |mrtx] 2018-05-18 15:10:07,613                                            /merantix_core/common/util/logging.py:189  --- EXPECTED LOG FORMAT
    [INFO |mrtx] 2018-05-18 15:10:07,614 /usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/tf_logging.py:116 --- TF LOG FORMAT

    在 TF 1.8 中, tf.logging._logger不再可访问。基于此 thread ,我尝试设置
       tf_logging = _logging.getLogger('tensorflow')

    在上面的代码片段中,但输出是
    [INFO |mrtx] 2018-05-18 15:20:34,043                                            /merantix_core/common/util/logging.py:190  --- EXPECTED LOG FORMAT
    INFO:tensorflow:TF LOG FORMAT

    我看不到对 tf_logging.py 的任何更改TF 1.7 和 1.8 之间。我假设 tf_export 调用以前没有被强制执行,但现在正在强制执行。还有一些方法可以覆盖 tf.logging 的处理程序吗? ?或者,是否有更规范的方法来获得上述功能?

    最佳答案

    以下代码使用 tensorflow 1.12.0 进行了很好的测试。

    import tensorflow as tf
    import logging

    logger = logging.getLogger('tensorflow')
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    for h in logger.handlers:
    h.setFormatter(formatter)
    tf.logging.set_verbosity(tf.logging.INFO)
    tf.logging.info("testing")
    tf.logging.debug("debug mesg")
    tf.logging.warning("a warning mesg")

    当我们导入 tensorflow 时,总会有一个记录器名称“tensorflow”。我们需要调用它并改变它的格式。
    Logger.handlers仅包含一个处理程序。
    tf.logging._get_logger()在 tf 1.12.0 中不起作用。

    我们可以修改上面的代码,将处理程序(steam、文件、电子邮件等)添加到 tensorflow 记录器。

    关于tensorflow - TensorFlow 1.8 中的自定义日志处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50414644/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com