TensorBoard 简介
TensorBoard 是用于可视化 TensorFlow 模型的训练过程的工具(the flow of tensors)
TensorBoard 如何工作
简单来说,TensorBoard 是通过一些操作将数据记录到文件中,然后再读取文件来完成作图的。想要在浏览器上看到 TensorBoard 页面,大概需要这几步:
- summary。在定义计算图的时候,在适当的位置加上一些 summary 操作 。
- merge。你很可能加了很多 summary 操作,我们需要使用
tf.summary.merge_all
来将这些 summary 操作聚合成一个操作,由它来产生所有 summary 数据。 - run。在没有运行的时候这些操作是不会执行任何东西的,仅仅是定义了一下而已。在运行(开始训练)的时候,我们需要通过
tf.summary.FileWriter()
指定一个目录来告诉程序把产生的文件放到哪。然后在运行的时候使用add_summary()
来将某一步的 summary 数据记录到文件中。
当开始训练后,在命令行使用 tensorboard --logdir=path
来启动 TensorBoard,按照提示在浏览器打开页面。
TensorBoard 可存储类型
SCALARS:
IMAGES:
GRAPHS:
代码实现:
tf.summary:
scalars:标量显示
tf.summary.scalar
histograms:变量显示
tf.summary.histogram
images:展示训练过程中记录的图像
tf.summary.image
graphs:计算图显示
tf.summary.FileWritter(path,sess.graph)
distribution:变量分布
tf.summary.distribution
embeddings:变量embeddings
加载ckpt文件,但是变量也要保存
audio:展示训练过程中记录的音频
tf.summary.audio
text:展示文本输入类型为Tensor
tf.summary.text