1. 程式人生 > >TensorFlow學習之路:Tensorboard

TensorFlow學習之路:Tensorboard

如有錯誤請予以指出,本文為初始版本,後續會繼續修改完善。

  1. 在程式中
    writer = tf.summary.FileWriter(‘/tmp/tensorboard’)#/tmp/tensorboard為日誌儲存路徑,可自行修改
    writer.add_graph(sess.graph)
    就可以顯示計算圖了,這樣的話只顯示計算圖

  2. tensorboard –logdir=/tmp/tensorboard

  3. Starting TensorBoard 52 at http://localhost.localdomain:6006 (Press CTRL+C to quit)

  4. 然後在瀏覽器中輸入

    http://127.0.0.1:6006/

如果某一程序正在使用6006埠

則檢視哪個程序 lsof -i:6006
然後結束該程序 kill -9 **
再執行第1步

FQA:
Q:如果要顯示變數的值的變化如w,b,cross_entropy,則要
A:
1. 建立想彙總資料的 TensorFlow 圖,然後再選擇你想在哪個節點進行彙總(summary)操作。
2. tf.summary.scalar(‘w’, w) 通過向節點附加scalar_summary操作來分別輸出學習速度和期望誤差。然後你可以給每個 scalary_summary 分配一個有意義的 標籤,比如 ‘learning rate’ 和 ‘loss function’。
或者還希望顯示一個特殊層中啟用的分佈,或者梯度權重的分佈。可以通過分別附加 tf.summary.histogram() 運算來收集權重變數和梯度輸出。
3. merge = tf.summary.merge_all()。因為在TensorFlow中,所有的操作只有當你執行,或者另一個操作依賴於它的輸出時才會執行。我們剛才建立的這些節點(summary nodes)都圍繞著你的影象:沒有任何操作依賴於它們的結果。因此,為了生成彙總資訊,我們需要執行所有這些節點。這樣的手動工作是很費時費力的,因此可以使用tf.merge_all_summaries來將他們合併為一個操作。它會依據特點步驟將所有資料生成一個序列化的Summary protobuf物件
4. 然後將彙總資料寫入磁碟,需要將彙總的protobuf物件傳遞給tf.summary.FileWriter()。如:writer = tf.summary.FileWriter(‘/tmp/tensorboard’)
writer.add_graph(sess.graph)
5. result , accuracy = sess.run([merge, accuracy], feed_back={x:x, y:y})
writer.add_summary(result, i)
結束。

Q: 什麼是protobuf?
A: protobuf是google提供的一個開源序列化框架,類似於XML,JSON這樣的資料表示語言,其最大的特點是基於二進位制,因此比傳統的XML表示高效短小得多。雖然是二進位制資料格式,但並沒有因此變得複雜,開發人員通過按照一定的語法定義結構化的訊息格式,然後送給命令列工具,工具將自動生成相關的類,可以支援PHP、Java、c++、Python等語言環境。通過將這些類包含在專案中,可以很輕鬆的呼叫相關方法來完成業務訊息的序列化與反序列化工作。

注:
1. 在merge前要將想要顯示的資料全部新增完,所以要顯示執行時的引數,如accuracy,則要在merge前定義一個計算accuracy的函式,這樣就可以了。順序不能亂。
2. 需要在merge前新增的為scalar,image,audio,distribution(w, b),histogram
3. 當儲存模型時,會顯示embedding
embedding是從輸入資料點到歐式空間中點的對映,為了理解模型的行為特徵,機器學習的研發人員經常需要探索某個特定的Embedding。例如做音樂推薦系統的工程師建立了一個歌曲的embedding,他可能需要驗證”Stairway to Heaven”這支歌曲最近的鄰居包括“Whole Lotta Love”但不包括”Let it Go”. 對於這樣的使用者,從Embedding的幾何結構獲得理解就很關鍵。
論文:Embedding Projector: Interactive Visualization and Interpretation of Embeddings
參考連結:

http://blog.csdn.net/wangyao_bupt/article/details/70404823