tf.xxx與summary有關的函式
阿新 • • 發佈:2018-12-11
tf.xxx與summary有關的函式
Summary的作用
TensorFlow中的summary主要是用於觀察變數、直方圖等一系列變數,然後在Tensorboard中檢視,方便我們視覺化訓練過程。
tf.summary.scalar()
- 輸出一個
Summary
protocol buffer,它包括一個單一scalar的值.- 通常可以用於觀察單一變數的值,如學習率或者損失.
tf.summary.histogram()
- 輸出一個
Summary
protocol buffer,它包括一個直方圖。- 通常可以用於觀察梯度或者權重的分佈,其主要用於資料分佈
tf.summary.merge_all()
- TensorFlow中的Operations不會被執行,除非你run它或者另外的op依賴於他們的輸出。我們剛剛建立的那些summary的節點對於我們的graph來說是處在外部的,因為圖中沒有op依賴於這些節點。所以為了產生summaries,我們需要執行所有summary的節點。如果手工管理這些節點是枯燥重複的,所以使用
tf.summary.merge_all
來將它們合併成一個op來產生summary資料。- 之後,我們就可以只用執行合併的節點,來產生一個序列化的Summary protocol物件,它包含了在指定步你所有的summary資料。然後我們可以將summary資料通過下面的函式寫入磁碟。
tf.summary.FileWriter()
- 用於獲取一個FileWriter物件,它會在指定的路徑建立一個event檔案,然後將summaries和events新增進去。
- 這個新增過程和訓練過程是非同步的,因此不影響訓練速度。