您的位置:首頁>正文

TensorBoard:Visualizing Learning 學習筆記

為了更方便的理解、調試和優化TF程式, 我們可以使用TensorBoard(視覺化工具)。 可以使用TensorBoard查看graph,繪製圖表執行過程中的定量指標。 TensorBoard是完全可配置的。

1 序列化資料(Serializing the data)到磁片

TensorBoard通過讀取TF事件檔進行操作, 該檔包含了在TF運行過程中產生的摘要資料(summary data)

首先創建從中要收集摘要資料的TF圖, 並決定圖中的哪些點(nodes)需要summary operations。 比如需要記錄隨時間進行, 學習率的變化和目標函數的改變。 我們可以分別將學習率輸出節點和損失輸出節點加上tf.summary.scalar操作。 並給每個scalar_summary一個有含義的標記, 如‘learning rate’和‘loss function’。

或者想看看特定層的啟動函數的分佈, 或梯度和權重的分佈。

通過將tf.summary.histogram分別附加到梯度輸出和權重的變數, 來收集資料。

所有的summary operations:

tf.summary.tensor_summarytf.summary.scalartf.summary.histogramtf.summary.audiotf.summary.imagetf.summary.mergetf.summary.merge_all

Class for writing Summaries

tf.summary.FileWritertf.summary.FileWriterCache

為了產生這些摘要資料, 我們需要運行這些summary nodes。 單獨管理這些節點比較麻煩, 因此使用tf.summary.merge_all將它們合併為一個單獨的操作, 來產生所有的摘要資料。 最後通過tf.summary.FileWriter將摘要資料寫到磁片。

手寫字體識別例子的原始程式碼:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py

其中程式的最後一段:

parser.add_argument('--data_dir', type=str, default='/tmp/tensorflow/mnist/input_data', help='Directory for storing input data') parser.add_argument('--log_dir', type=str, default='/tmp/tensorflow/mnist/logs/mnist_with_summaries', help='Summaries log directory')

注:上面代碼中路徑的寫法, 絕對路徑為該python檔所在的磁片根路徑+default指定的路徑。 比如該python在C:\XXX\XXX, 則default='C:/tmp/tensorflow/mnist/logs/mnist_with_summaries'

可以在程式中根據需要改為自訂的路徑如:

default='C:\\TMP\\TF\\MNIST_data' (或者default='C:/TMP/TF/MNIST_data') default='C:\\TMP\\TF\\logs\\mnist_with_summaries' (或者default='C:/TMP/TF/logs/mnist_with_summaries')

或者在命令列運行程式時, 指定自訂路徑如:

python xx.py --data_dir=C:\\TMP\\TF\\MNIST_data --log_dir=C:\\TMP\\TF\\logs\\mnist_with_summaries (或者python xx.py --data_dir=C:/TMP/TF/MNIST_data --log_dir=C:/TMP/TF/logs/mnist_with_summaries)

2 啟動TensorBoard

在命令列運行如下命令:tensorboard --logdir=path/to/log-directory

在本例中:

tensorboard --logdir=C:/TMP/TF/logs/mnist_with_summaries --debug (或者tensorboard --logdir=/TMP/TF/logs/mnist_with_summaries --debug)

注意:tensorborad的啟動命令的根目錄需要和日誌的根目錄保持一致。

在流覽器中輸入位址localhost:6006

可以看到有7大模組:

SCALARSIMAGESAUDIOGRAPHSDISTRIBUTIONSHISTOGRAMSEMBEDDINGS
同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示