Tensorboard的使用---史上最全總結---持續更新

Tensorboard

1. 目的:

當我們訓練深度神經網絡的時候,一個很棘手的問題就是對於各種網絡結構和超參數的選擇產生的影響缺乏理解。例如,如果我們忽視權重初始化方式的選擇,可能會導致權重之間存在非常大的方差,模型的訓練就有可能迅速偏離正軌。另一方面,即使我們在參數選擇的時候很小心,也免不了會出問題。比如學習率的選擇,過大或過小的學習率會導致模型發散或者掉入局部最優點。然而並沒有永遠合適的學習率,這些都需要根據觀察訓練過程來作出合適的選擇。

一個快速定位模型問題的方法就是通過觀察模型訓練過程的變化,這也是TensorBoard應用的場景。我們可以決定在TensorBoard中展示哪些值,這些值隨訓練時間的歷史變化就會被記錄下來,供給我們分析判斷,幫助我們把複雜的神經網絡訓練過程進行可視化,使得我們可以更好地理解,調試,並優化程序。

2. TensorBoard的用法:

如何啓動TensorBoard?

Linux系統下命令行執行tensorBoard

--logdir=summaries # 裏面有event文件的那個目錄
# --logdir後面是tensorflow的summary所在的目錄,這裏麪包含event文件,
# 保存了TensorBoard展示需要的數據。

這些數據在程序上解讀的話,就是對應代碼裏放進tensorflow summary中的數據。tf.summary
啓動後,終端會輸出查看TensorBoard的url, 在Web瀏覽器中打開該url就可以看到TensorBoard的面板了。

2.1 可視化scalar(標量)數據類型:

  • 觀察training loss

  • 觀察validation loss

    第一點:
    if the validation loss going to increase that means overfitting. You should set the number of epochs as high as possible and avoid the overfitting. 一旦validation loss開始增加,就說明在訓練集上已經過擬合了,也就是太過適應訓練集,但是卻不夠泛化,在validation set上就出事了,出事的表現就是validation loss增加。

2.2 利用Histogram來可視化Vector或者數據集合

2.3 通過Histogram來比較不同的權重初始化對於神經網絡訓練時權重更新的影響

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章