TensorBoard是TensorFlow下的一个可视化的工具,能够帮助研究者们可视化训练大规模神经网络过程中出现的复杂且不好理解的运算,展示训练过程中绘制的图像、网络结构等。
第一步:准备好需要可视化的数据,运行训练代码,代码中添加 writer = tf.summary.FileWriter("logs/", sess.graph),运行完后会产生一个log文件保存需要可视化的数据,其中“logs/”为参数保存路径。如下图:
with tf.Session() as sess:
writer = tf.summary.FileWriter("logs/", sess.graph)
sess.run(tf.global_variables_initializer())
for i in range(6000):
start = (i * BATCH_SIZE) % dataset_size
end = min(start + BATCH_SIZE, dataset_size)
if i % 100 == 0:
train_accuracy = accuracy.eval(feed_dict={x: XTR[start:end], y_: YTR[start:end], keep_prob: 1.0}) # 训练集识别率
c_entropy = cross_entropy.eval(feed_dict={x: XTR[start:end], y_: YTR[start:end], keep_prob: 1.0}) # 交叉熵
learn_rate = learning_rate.eval(feed_dict={x: XTR[start:end], y_: YTR[start:end], keep_prob: 1.0}) # 变学习率
print("step: %d, training accuracy: %g, loss: %g, learning_rate: %g"%(i, train_accuracy,c_entropy,learn_rate))
sess.run(train_step, feed_dict={x: XTR[start:end], y_: YTR[start:end], keep_prob: 0.75})
print("test accuracy %g"%accuracy.eval(feed_dict={x: XTE, y_: YTE, keep_prob: 1.0})) #验证结果
sess.close()
第二步:打开终端,用cd 命令切换到logs文件夹所在的上级目录,然后输入tensorboard --logdir=logs
回车
复制命令行出现的网址到浏览器(按CTRL+C退出)
网页出现构造的网络结构,左上角可保存成图片到目录的图片路径下。