How do I add an arbitrary value to a TensorFlow summary?

前端 未结 2 1293
感情败类
感情败类 2020-12-10 04:56

In order to log a simple value val to a TensorBoard summary I need to

val = 5
test_writer.add_summary(sess.run(tf.scalar_summary(\'test\', val))         


        
2条回答
  •  死守一世寂寞
    2020-12-10 05:30

    Here's another (perhaps slightly more up-to-date) solution with the tf.Summary.FileWriter class:

    summary_writer = tf.summary.FileWriter(logdir=output_dir)
    value = tf.Summary.Value(tag='variable name', simple_value=value)
    summary_writer.add_event(summary=tf.summary.Event(tf.Summary([value]),
                             wall_time=time.time(),
                             step=global_step))
    

    Then you can create your SummarySaverHook as such:

    summary_hook = tf.train.SummarySaverHook(
        summary_writer=summary_writer,
        summary_op=your_summary_op)
    

    which you can pass to your MonitoredTrainingSession. An example of a summary_op is tf.summary.merge_all()

    NOTE: You will have to wait for the FileWriter to flush for it to appear in your events file. You can force it by calling summary_writer.flush()


    A simpler solution:

    summary_writer = tf.summary.FileWriter(output_dir)
    summary = tf.Summary()
    summary.value.add(tag='name of var', simple_value=value)
    summary_writer.add_summary(summary, global_step)
    summary_writer.flush()
    

提交回复
热议问题