飞翔鸟

人生无止境,奋斗不息

tensorboard窥视

运行神经网络时,跟踪网络参数,以及输入输出是很重要的,可据此判断模型是否在学习,损失函数的值是否在不断减小。Tensorboard通过可视化方法,用于分析和调试网络模型。

使用tensorboard的流程:

1、构建计算流图,即完成代码部分

2、为要观察的操作节点添加summary

3、使用sess.run()启动计算流图

4、在anaconda prompt下启动tensorboard,如:tensorboard --logdir=***,其中***表示存放log的目录

5、在浏览器下查看可视化结果

 

  • tf.summary.scalar(name, tensor, collections=None):记录标量,如loss,accuracy,learning_rate等
  • tf.summary.histogram(name, tensor, collections=None):记录权重、输出、梯度的分布情况
  • Tf.summary.image(name, tensor, max_outputs=3, collections=None): 记录图片数据
  • Tf.summary.audio(name, tensor, sample_rate, max_outputs=3, collections=None): 记录音频数据
  • Tf.summary.text(name, tensor, collections=None): 记录文本数据
  • tf.summary.merge_all/tf.summary.merge(inputs, collections=None, name=None):合并所有/指定变量
  • tf.summary.FileWriter:写入summary文件

 

import tensorflow as tf
import numpy as np
# 输出数字0-9
one = tf.constant(1.0)
digit_value = tf.Variable(0.0, name='digit_value')
new_digit_value = tf.add(digit_value, one)
step = tf.assign(digit_value, new_digit_value)

for value in [digit_value]:
    tf.summary.scalar(value.op.name, value) # 添加要显示在tensorboard的标量
summaries = tf.summary.merge_all()
with tf.Session() as sess:
    summary_writer = tf.summary.FileWriter('log', sess.graph) # 保存数据流图到文件夹log中
    sess.run(tf.global_variables_initializer())
    for i in range(10):
        summary_writer.add_summary(sess.run(summaries)) # 添加summaries图表到tensorboard中
        print(sess.run(digit_value))
        sess.run([new_digit_value, step])

显示效果:

 

posted @ 2018-07-10 17:38  飞翔—鸟  阅读(143)  评论(0编辑  收藏  举报