主旨
可视化是深度学习神经网络开发、调试、应用中极为重要的手段。Tensorboard是Tensorflow提供的一个可视化工具,本文通过实际代码实验的方式说明使用TensorBoard实现记录变量,实现可视化调试的目的。
源代码
我的GitHub中TF_Graph项目, singleNerualNode.py
网络结构
为了简化情况,实验中使用单层神经网络,网络结构定义见笔者前一篇文章 [TensorFlow]理解Tensorboard Graph“案例1:单个神经元”
TensorBoard基本调用方法
- 网络结构定义中将所有输出到tf.summary的变量合并到一个Tensor
merged = tf.summary.merge_all()
- 创建Writer
log_path = "tf_writer"
writer = tf.summary.FileWriter(log_path, sess.graph)
- 在训练中计算merged Tensor,并输出到writer
for iterIdx in range(iterationNumber):
sess.run(train_step, feed_dict={inputTensor: inputData, labelTensor:labels})
summary = sess.run(merged, feed_dict={inputTensor: inputData, labelTensor:labels})
writer.add_summary(summary, iterIdx)
#flush to disk every 50 iteration
if iterIdx % 50 == 0:
writer.flush()
writer.close()
启动TensorBoard,在shell输入如下命令
tensorboard –logdir tf_writer
注:’tf_writer’是我的log_path, 实际使用中根据存储Log的位置调整从浏览器中访问
打开浏览器访问http://192.168.1.100:6006/,其中’192.168.1.100’是运行Tensorboard的计算机IP地址,可以是本机,也可以是网络上的服务器,能访问到就行。
标量(Scalar)的输出
区别于矩阵和向量,标量可以认为只有1个维度的数值量。
在神经网络中&#