當前位置:
首頁 > 最新 > Tensorflow可視化教程

Tensorflow可視化教程

TensorBoard

簡介:TensorBoard是tensorflow官方推出的可視化工具,它可以將模型訓練過程中的各種匯總數據展示出來,包括標量(Scalars)、圖片(Images)、音頻(Audio)、計算圖(Graphs)、數據分布(Distributions)、直方圖(Histograms)和潛入向量(Embeddigngs)。

  • 作用:tensorflow代碼執行過程是先構建圖,然後在執行,所以對中間過程的調試不太方便;除此之外,在使用tensorflow訓練大型深度學習神經網路時,中間的計算過程可能非常複雜,因此為了理解、調試和優化網路,可以使用TensorBoard觀察訓練過程中的各種可視化數據。

    TensorBoard可視化過程

    在將可視化過程之前,為了方便理解,對之中設計的一些概念做一個簡要介紹。

    什麼是Graph和Session

    graph定義了computation,它不計算任何東西,不包含任何值,只是定義了你在代碼中指定的操作。關於graph的官方文檔地址:https://www.tensorflow.org/api_docs/python/tf/Graph。若不建立graph,TensorFlow在載入庫的時候會地創建圖,並且將這個圖指定為默認圖。可以通過使用tf.get_default_graph()函數獲得默認圖的句柄。在大多數的TensorFlow程序中,都只是用默認圖(graph)來處理。不過,當你定義的多個模型沒有相互內在的依賴的情況下,創建多個圖的時候很有用。下面,我們一個變數和三個操作定義一個圖形:variable返回變數的當前值。initialize將42的初始值賦給那個變數。assign給該變數賦值13的新值。

    Session會話允許執行graph或graph的一部分。它為此分配資源(在一台或多台機器上)並保存中間結果和變數的實際值。要運行上面三個定義的操作中的任何一個時,我們需要為該graph創建一個會話Session。 因此會話Session需要分配內存來存儲變數的當前值。

    可視化過程

    先建立一個graph

  • 3.接著載入數據,下載數據是直接調用了tensorflow提供的函數read_data_sets,輸入兩個參數,第一個是下載到數據存儲的路徑,第二個one_hot表示是否要將類別標籤進行獨熱編碼。它首先回去找制定目錄下有沒有這個數據文件,沒有的話才去下載,有的話就直接讀取。所以第一次執行這個命令,速度會比較慢。

    創建特徵與標籤的佔位符,保存輸入的圖片數據到summary

    創建tensorflow的默認會話:

    創建初始化參數的方法,與參數信息匯總到summary的方法

    在構建神經網路模型中,每一層中都需要去初始化參數w,b,為了使代碼簡介美觀,最好將初始化參數的過程封裝成方法function。

    創建初始化權重w的方法,生成大小等於傳入的shape參數,標準差為0.1,正態分布的隨機數,並且將它轉換成tensorflow中的variable返回。

    創建初始換偏執項b的方法,生成大小為傳入參數shape的常數0.1,並將其轉換成tensorflow的variable並返回

    構建神經網路層

    調用隱層創建函數創建一個隱藏層:輸入的維度是特徵的維度784,神經元個數是500,也就是輸出的維度。

    創建損失函數

    訓練,並計算準確率

    使用AdamOptimizer優化器訓練模型,最小化交叉熵損失

    合併summary operation, 運行初始化變數

    將所有的summaries合併,並且將它們寫到之前定義的log_dir路徑

    準備訓練與測試的兩個數據,循環執行整個graph進行訓練與評估

    現在我們要獲取之後要喂入的數據.

    如果是train==true,就從mnist.train中獲取一個batch樣本,並且設置dropout值;

    如果是不是train=false,則獲取minist.test的測試數據,並且設置keep_prob為1,即保留所有神經元開啟。

    執行程序,tensorboard生成可視化

    運行整個程序,在程序中定義的summary node就會將要記錄的信息全部保存在指定的logdir路徑中了,訓練的記錄會存一份文件,測試的記錄會存一份文件。

    執行命令之後會出現一條信息,上面有網址,將網址在瀏覽器中打開就可以看到我們定義的可視化信息了。可視化後的展示詳情見GitHub中README部分:

    https://github.com/guoswang/TensorBoard/blob/master/README.md

    參考


    喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

    本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


    請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

    美圖17頁區塊鏈白皮書發出:蔡文勝社交平台野心浮出水面?

    TAG:全球大搜羅 |