使用tensorboard可视化loss和acc的实例

田野里,高粱像喝醉了酒,频频点头;玉米正在变黄了的衣服里睡大觉;大豆也小坡了肚皮,蹦了出来;小白菜像列队的士兵整齐地排列在在菜地里。农民正忙忙碌碌地收获着一年的成果,田野里不时传出阵阵欢笑声。啊,秋天的景色真美啊!

1.用try...except...避免因版本不同出现导入错误问题

try:
 image_summary = tf.image_summary
 scalar_summary = tf.scalar_summary
 histogram_summary = tf.histogram_summary
 merge_summary = tf.merge_summary
 SummaryWriter = tf.train.SummaryWriter
except:
 image_summary = tf.summary.image
 scalar_summary = tf.summary.scalar
 histogram_summary = tf.summary.histogram
 merge_summary = tf.summary.merge
 SummaryWriter = tf.summary.FileWriter

2.将代码写入作用域(作用域不影响代码的运行)

with tf.name_scope('loss'):
 loss = -tf.reduce_sum(y * tf.log(y_conv))
 loss_summary = scalar_summary('loss', loss)
 
with tf.name_scope('accuracy'):
 accuracy = tf.reduce_mean(tf.cast(correct_prediction, 'float'))
 acc_summary = scalar_summary('accuracy', accuracy)

3.将要保存的变量存在一起

另外可使用 tf.merge_all_summaries() 或者 tf.summary.merge_all()

merged = merge_summary([loss_summary, acc_summary])

4.定义保存路径(在sess中完成)

writer = SummaryWriter('save-cnn20/logs', sess.graph)

5.训练模型的同时训练变量集合merged(在sess中完成,counter为计数,每训练一次增加1)

summary, _ = sess.run([merged, train_step], feed_dict={x:x_batch, y:y_batch})
counter += 1
writer.add_summary(summary, counter)

6.训练完成后在 save/logs 文件夹里面会有一个events.out.开头的文件,以下通过终端操作。

cd save
tensorboard --logdir=logs

终端会出现一个网址,复制到浏览器中打开就能看见tensorboard储存的图像了。(若打开后无数据或图像,检查 --logdir后面的文件夹名字是否给错了。)

以上这篇使用tensorboard可视化loss和acc的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
tensorboard实现同时显示训练曲线和测试曲线

Tensorflow的可视化工具Tensorboard的初步使用详解

PyTorch梯度裁剪避免训练loss nan的操作

TensorFlow绘制loss/accuracy曲线的实例

关于pytorch中网络loss传播和参数更新的理解