Tensorboard—使用keras結合Tensorboard可視化

1. keras如何使用tensorboard

        keras使用tensorboard是通過回調函數來實現的,關於什麼是keras的“回調函數”,這裏就不再贅述了,所以Tensorboard也是定義在keras.callbacks模塊中的,通過構造一個Tensorboard類的對象,然後在訓練的時候在fit裏面指定callbacks參數即可,keras使用的一般格式爲:

# 構造一個Tensorboard類的對象
tbCallBack = TensorBoard(log_dir="./model",update_freq='batch', histogram_freq=0,write_graph=True, write_images=True,...)
 
# 在fit 裏面指定callbacks參數
history=model.fit(x_train, y_train, 
                  batch_size=batch_size, 
                  epochs=epochs, 
                  verbose=2, 
                  validation_split=0.2,
                  callbacks=[tbCallBack])

2. Tensorboard類詳解

該類在keras.callbacks模塊中。它的參數列表如下:

  • log_dir: 用來保存被 TensorBoard 分析的日誌文件的文件名。
  • histogram_freq: 對於模型中各個層計算激活值和模型權重直方圖的頻率(訓練輪數中)。 如果設置成 0 ,直方圖不會被計算。對於直方圖可視化的驗證數據(或分離數據)一定要明確的指出。
  • write_graph: 是否在 TensorBoard 中可視化圖像。 如果 write_graph 被設置爲 True。
  • write_grads: 是否在 TensorBoard 中可視化梯度值直方圖。 histogram_freq 必須要大於 0 。
  • batch_size: 用以直方圖計算的傳入神經元網絡輸入批的大小。
  • write_images: 是否在 TensorBoard 中將模型權重以圖片可視化,如果設置爲True,日誌文件會變得非常大。
  • embeddings_freq: 被選中的嵌入層會被保存的頻率(在訓練輪中)。
  • embeddings_layer_names: 一個列表,會被監測層的名字。 如果是 None 或空列表,那麼所有的嵌入層都會被監測。
  • embeddings_metadata: 一個字典,對應層的名字到保存有這個嵌入層元數據文件的名字。 查看 詳情 關於元數據的數據格式。 以防同樣的元數據被用於所用的嵌入層,字符串可以被傳入。
  • embeddings_data: 要嵌入在 embeddings_layer_names 指定的層的數據。 Numpy 數組(如果模型有單個輸入)或 Numpy 數組列表(如果模型有多個輸入)。 Learn ore about embeddings。
  • update_freq: 'batch' 或 'epoch' 或 整數。當使用 'batch' 時,在每個 batch 之後將損失和評估值寫入到 TensorBoard 中;同樣的情況應用到 'epoch' 中;如果使用整數,例如 10000,這個回調會在每 10000 個樣本之後將損失和評估值寫入到 TensorBoard 中。注意,頻繁地寫入到 TensorBoard 會減緩你的訓練。

3. 打開TensorBoard方式

  Terminal中輸入:tensorboard --logdir=G:\python\Machine_learning\yangzhou\LSTM_window\logs 

4. 用tensorboard顯示損失函數的值曲線圖,爲何會有顏色深淺兩條線

  深色線:平滑之後

  淺色線:真實曲線

    tensorboard左邊有一個平滑度數選擇,默認是0.6,調節之後曲線就會發生變化,原來顏色淺的纔是真實曲線,但真實曲線往往不好看,所以加入了平滑產生了顏色深的線。

                            

                            

                             

5. 其他解釋參考文章

  Tensorboard深入詳解(一)——使用keras結合Tensorboard可視化神經網絡詳細教程

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