TensorFlow - Importing data from a TensorBoard TFEvent file?

前端 未结 7 1748
刺人心
刺人心 2020-12-04 08:50

I\'ve run several training sessions with different graphs in TensorFlow. The summaries I set up show interesting results in the training and validation. Now, I\'d like to ta

7条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-04 09:42

    Following works as of tensorflow version 2.0.0-beta1:

    import os
    
    import tensorflow as tf
    from tensorflow.python.framework import tensor_util
    
    summary_dir = 'tmp/summaries'
    summary_writer = tf.summary.create_file_writer('tmp/summaries')
    
    with summary_writer.as_default():
      tf.summary.scalar('loss', 0.1, step=42)
      tf.summary.scalar('loss', 0.2, step=43)
      tf.summary.scalar('loss', 0.3, step=44)
      tf.summary.scalar('loss', 0.4, step=45)
    
    
    from tensorflow.core.util import event_pb2
    from tensorflow.python.lib.io import tf_record
    
    def my_summary_iterator(path):
        for r in tf_record.tf_record_iterator(path):
            yield event_pb2.Event.FromString(r)
    
    for filename in os.listdir(summary_dir):
        path = os.path.join(summary_dir, filename)
        for event in my_summary_iterator(path):
            for value in event.summary.value:
                t = tensor_util.MakeNdarray(value.tensor)
                print(value.tag, event.step, t, type(t))
    

    the code for my_summary_iterator is copied from tensorflow.python.summary.summary_iterator.py - there was no way to import it at runtime.

提交回复
热议问题