【Tensorflow】Tensorboard使用笔记

Tensorboard通过读取Tensorflow的事件文件来运行,以图表的形式展示汇总数据(summary data)。

首先,创建想要汇总数据的Tensorflow图,然后选择想在哪个节点进行汇总(summary)操作。

使用tf.summary.scalar记录标量

使用tf.summary.histogram记录数据的直方图,比如展示层中激活的分布,或梯度权重的分布。

使用tf.summary.distribution记录数据的分布图

使用tf.summary.image记录图像数据

为了生成汇总信息,需要运行所有这些节点,可以通过tf.merge_all_summaries方法将他们合并为一个操作,执行合并命令后,会将所有数据生成一个序列化对象,为了将汇总数据写入磁盘,需要将汇总的数据对象传递给tf.summary.FileWriter.

tf.summary.FileWriter的参数包括事件文件的存储目录logdir,和graph来指定存储哪个图的事件。

下面是使用示例:

loss = tf.reduce_mean(cross_entropy,name='loss')
grads = tf.gradients(loss, tf.trainable_variables())
grads = list(zip(grads, tf.trainable_variables()))
#记录标量loss    
tf.summary.scalar('loss',loss)
#使用直方图记录每一个可训练参数
for var in tf.trainable_variables():
    tf.summary.histogram(var.name, var)
#使用直方图记录梯度
for grad, var in grads:
    tf.summary.histogram(var.name + '/gradient', grad)
#运行汇总数据
merged_summary_op = tf.summary.merge_all()
#建立session
with tf.Session(graph=train_graph) as sess:
    sess.run(tf.global_variables_initializer())
    #构建FileWriter对象,指明事件文件的存储路径和要存储的图
    writer = tf.summary.FileWriter('E://Projects//Tensorboard',graph = train_graph)
    for epoch in range(1,epochs+1):
        ......
        #运行汇总数据op
        summary = sess.run(merged_summary_op, feed_dict)
        #将汇总数据写入事件文件
        writer.add_summary(summary,global_step=epoch)
    #结束后,关闭写入流
    writer.close()




猜你喜欢

转载自blog.csdn.net/weixin_39837402/article/details/80772972
今日推荐