How to average summaries over multiple batches?

后端 未结 9 1433
刺人心
刺人心 2020-12-13 09:18

Assuming I have a bunch of summaries defined like:

loss = ...
tf.scalar_summary(\"loss\", loss)
# ...
summaries = tf.m         


        
9条回答
  •  别那么骄傲
    2020-12-13 10:10

    I found one solution myself. I think it's kind of hacky and I hope there is a more elegant solution.

    During setup:

    valid_loss_placeholder = tf.placeholder(dtype=tf.float32, shape=[])
    valid_loss_summary = tf.scalar_summary("valid loss", valid_loss_placeholder)
    

    Or for tensorflow versions after 0.12 (change in name for tf.scalar_summary):

    valid_loss_placeholder = tf.placeholder(dtype=tf.float32, shape=[])
    valid_loss_summary = tf.summary.scalar("valid loss", valid_loss_placeholder) 
    

    Within training loop:

    # Compute valid loss in python by doing sess.run() for each batch
    # and averaging
    valid_loss = ...
    
    summary = sess.run(valid_loss_summary, {valid_loss_placeholder: valid_loss})
    summary_writer.add_summary(summary, step)
    

提交回复
热议问题