【问题标题】:Is it possible to omit a Tensorflow scalar summary dependant on its value?是否可以根据其值省略 Tensorflow 标量摘要?
【发布时间】:2018-02-26 18:07:06
【问题描述】:

我构建摘要操作并将它们添加到集合中,然后在训练/验证期间始终评估摘要集合作为 sess.run 调用的一部分。

但是,在某些情况下,该值为 nan,这会使 Tensorboard 图表变坏。 (三角形而不是数据点,并且平滑不适用于中间的 nan 值)。

有没有办法根据有效值从集合中省略特定摘要?我可以用零或类似值替换 nan 值,但任何人为选择的值都会污染真实报告的统计数据。

我添加这样的摘要: tf.summary.scalar('scc_precision_test', precision_test, [Constants.TEST_SUMMARIES])

谢谢!

【问题讨论】:

    标签: tensorflow tensorboard


    【解决方案1】:

    您可以在将摘要写入FileWriter 之前检查其值:

    prec_test = tf.summary.scalar('scc_precision_test', precision_test,
                                  [Constants.TEST_SUMMARIES])
    # ... 
    ..., prec_test_sum = sess.run([..., prec_test], ...)
    prec_test_sum = tf.Summary().FromString(prec_test_sum)
    if np.isfinite(prec_test_sum.value[0].simple_value):
        writer.add_summary(prec_test_sum.SerializeToString(), global_step=...)
    

    如果您将多个摘要合并到一个 tf.Summary 对象中(例如,使用 tf.summary.merge/tf.summary.merge_all 创建),那么您必须过滤 value 字段:

    prec_test = tf.summary.scalar('scc_precision_test', precision_test,
                                  [Constants.TEST_SUMMARIES])
    merged = tf.summary.merge_all(key=Constants.TEST_SUMMARIES)
    # ... 
    ..., merged_sum = sess.run([..., merged], ...)
    merged_sum = tf.Summary().FromString(merged_sum)
    # Reversed traversal to be able to delete elements while iterating correctly
    for i, value in reversed(list(enumerate(merged_sum.value))):
        # Discard summary if is scalar and not finite
        if value.WhichOneof('value') == 'simple_value' and not np.isfinite(value.simple_value):
            del merged_sum[i]
    # Write all valid summaries
    writer.add_summary(merged_sum.SerializeToString(), global_step=...)
    

    【讨论】:

    • 'bytes' 对象没有属性 'values'。 merge_sum 只是一个字节数组?
    • @AshHall 对了,忘了返回值是序列化的字节数组,不是protobuf对象本身……
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多