【问题标题】:Parsing `summary_str` byte string evaluated on tensorflow summary object解析在张量流摘要对象上评估的“summary_str”字节字符串
【发布时间】:2016-04-06 17:44:10
【问题描述】:

目前 tensorflow 的 tensorboard is not compatible with python3。因此,一般来说,我正在寻找一种在 100 个 epoch 中打印一次摘要读数的方法。

是否有函数可以将以下行中生成的summary_str 字节字符串解析为浮点字典?

summary_op = tf.merge_all_summaries()
summary_str = sess.run(summary_op, feed_dict=feed_dict)

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    您可以通过将summary_str 解析为tf.Summary 协议缓冲区来获得summary_str 的文本表示,如下所示:

    summary_proto = tf.Summary()
    summary_proto.ParseFromString(summary_str)
    print(summary_proto)
    

    然后您可以将其转换为字典,将字符串标签映射到浮点数:

    summaries = {}
    for val in summary_proto.value:
        # Assuming all summaries are scalars.
        summaries[val.tag] = val.simple_value
    

    【讨论】:

    • 我试了一下,将第三行修改为print( summary_str, summary_proto , sep = ":\t")。我得到的是b'\n\x0e\n\x07L2_loss\x15\xd4J\xcdA\n\x11\n\nL1_penalty\x15\xef\xab\xa6A\n\x0b\n\x04loss\x15j\xa0\xeeA\n\t\n\x02R2\x15@\xd8Y\xbf': None。因此: None 没有属性“值”。
    • 啊,我在ParseFromString() 的原始答案中有错误。现在应该修好了。
    • 解析后是否有编辑summary_proto的选项?例如,如果我想更改标签然后序列化回字符串?
    猜你喜欢
    • 2018-06-20
    • 2018-09-01
    • 1970-01-01
    • 2019-08-02
    • 2023-04-06
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多