tf.summary用法总结

全部merge:tf.summary.merge_all()

summary_writer = tf.summary.FileWriter('E:/data/tensorflow-master/1.Cnn_Captcha/result/',  flush_secs=60)
summary_writer.add_graph(sess.graph)#添加graph图
tf.summary.scalar('loss', loss)
tf.summary.scalar('accuracy', accuracy)
sum_ops = tf.summary.merge_all()#自动管理
metall = sess.run(sum_ops, feed_dict={
     X: batch_x_test, Y: batch_y_test, keep_prob: 1.})
summary_writer.add_summary(metall, global_step=step)  # 写入文件

merge部分:tf.summary.merge()

参考:https://blog.csdn.net/jasminexjf/article/details/82817912
格式:tf.summary.merge(inputs, collections=None, name=None)

一般选择要保存的信息还需要用到tf.get_collection()函数

tf.summary.scalar('accuracy',acc)                   #生成准确率标量图  
merge_summary = tf.summary.merge([tf.get_collection(tf.GraphKeys.SUMMARIES,'accuracy'),...(其他要显示的信息)])  
train_writer = tf.summary.FileWriter(dir,sess.graph)#定义一个写入summary的目标文件,dir为写入文件地址  
......(交叉熵、优化器等定义)  
for step in xrange(training_step):                  #训练循环  
    train_summary = sess.run(merge_summary,feed_dict =  {
     ...})#调用sess.run运行图,生成一步的训练过程数据  
    train_writer.add_summary(train_summary,step)#调用train_writer的add_summary方法将训练过程以及训练步数保存  

使用tf.get_collection函数筛选图中summary信息中的accuracy信息,这里的
tf.GraphKeys.SUMMARIES 是summary在collection中的标志。
当然,也可以直接:

acc_summary = tf.summary.scalar('accuracy',acc)                   #生成准确率标量图  
merge_summary = tf.summary.merge([acc_summary ,...(其他要显示的信息)])  #这里的[]不可省

如果要在tensorboard中画多个数据图,需定义多个tf.summary.FileWriter并重复上述过程。

不merge,分别写入

summary_writer = tf.summary.FileWriter('E:/data/tensorflow-master/1.Cnn_Captcha/result/',  flush_secs=60)
summary_writer.add_graph(sess.graph)#添加graph图
loss_scalar = tf.summary.scalar('loss', loss)
accuracy_scalar = tf.summary.scalar('accuracy', accuracy)
loss_metall, accuracy_metall,  = sess.run([loss_scalar, accuracy_scalar], feed_dict={
     X: batch_x_test, Y: batch_y_test, keep_prob: 1.})
summary_writer.add_summary(loss_metall, global_step=step)  # 写入文件
summary_writer.add_summary(accuracy_metall, global_step=step)  # 写入文件

你可能感兴趣的:(tensorflow,summary,merge,merge_all)