TensorFlow可视化工具TensorBoard

TensorBoard是Tensorflow的可视化工具,可以通过Tensorflow程序运行中输出的日志文件可视化Tensorflow程序的运行状态。不得不说,TensorBoard是TensorFlow这个框架相对其他框架来讲做的很出色的一个工具。

本文通过一个Mnist分类的例子,说明如何使用TensorBoard。

本文的代码可以在GitHub下载:
https://github.com/loveunk/machine-learning-deep-learning-notes/blob/master/tensorflow/code/tensorflow.keras.mnist.classifier.py

TensorBoard的工作原理

在TensorFlow的程序里将相关的events等以log的形式保存,在运行TensorBoard后自动加载log文件并以良好的图表呈现在web页面中。方便开发者查看训练过程和结果数据。

因此TensorBoard的使用过程分两步:

  1. 生成log
  2. 加载log、呈现数据

TensorFlow中生成log文件

例如利用tf api显示的保存log:

file_writer = tf.summary.FileWriter('./log_dir', sess.graph)

或者在keras中以callback的形式保存log:

model.fit_generator(datagen.flow(X_train, Y_train, batch_size=batch_size),
                              epochs=epochs,
                              validation_data=(X_val, Y_val),
                              verbose=2,
                              steps_per_epoch=X_train.shape[0] // batch_size,
                              callbacks=[learning_rate_reduction, tf.keras.callbacks.TensorBoard(log_dir='./log_dir')])

本文基于后一种做演示。

启动TensorBoard,读取log文件

需要注意,我的环境为Anaconda,因此需要再Anaconda Prompt中启动TensorBoard:

tensorboard --logdir="C:\Users\loveunk\dl\tensorflow.keras.samples\log_dir\"

启动后会再terminal中提示你端口号:

TensorBoard 1.13.1 at http://localhost:6006 (Press CTRL+C to quit)

浏览器中启动TensorBoard

浏览器中打开如上的地址http://localhost:6006,直接呈现结果。

例如下图以曲线图的形式呈现了25个epochs的accuracy、loss、validation accuracy、loss等等。

《TensorFlow可视化工具TensorBoard》
《TensorFlow可视化工具TensorBoard》

同时可以查看Model的图形化展示:

《TensorFlow可视化工具TensorBoard》
《TensorFlow可视化工具TensorBoard》

当然上面只是简单的介绍了TensorBoard的用法,其实它功能丰富,待慢慢补充。

    原文作者:凯恩博
    原文地址: https://zhuanlan.zhihu.com/p/59986254
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞