tensorflow运行过程的可视化有助于我们对网络进行调优。比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在训练集上的准确率是如何的,比如损失值的变化情况,等等。tensorflow提供了可视化工具Tensorboard,今天把学习该工具的过程记录如下:
一、Tensorboard的配置与初步使用
- 在tensorflow构建图的过程中放入记录变量
在使用tensorflow构建图的过程中,在需要记录变量值的地方放入summary operations。
使用tf.summary.scalar记录标量
使用tf.summary.histogram记录数据的直方图
使用tf.summary.distribution记录数据的分布图
使用tf.summary.image记录图像数据
….
例如:
cross_entropy = -tf.reduce_sum(y * tf.log(y_fc2))
tf.summary.scalar('loss', cross_entropy)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.summary.scalar('accuracy', accuracy)
- 合并summary operation
在变量tensorflow变量初始化之前合并采集点变量,并且将它们写到之前定义的log_dir路径。
# summaries合并
merged = tf.summary.merge_all()
# 写到指定的磁盘路径中
train_writer = tf.summary.FileWriter(log_dir + '/train'