2015-12-11 71 views
8

我寫了一個簡單的腳本來計算從1,2,5的黃金比例。有沒有一種方法可以通過張量流實際產生視覺效果(可能借助於matplotlibnetworkx)的實際圖形結構?張量流圖非常類似於因子圖,所以我想知道:在TensorFlow中顯示圖形圖像?

圖形結構的圖像如何通過張量流生成?

在下面這個例子中,這將是作爲C_1, C_2, C_3各個節點,然後C_1將具有tf.sqrt操作,後跟帶來在一起的操作。也許圖形結構(節點,邊緣)可以導入到networkx?我看到tensor對象有一個屬性,但我還沒有發現如何實際使用這個用於成像目的。

#!/usr/bin/python 

import tensorflow as tf 
C_1 = tf.constant(5.0) 
C_2 = tf.constant(1.0) 
C_3 = tf.constant(2.0) 

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3 

sess = tf.Session() 
print sess.run(golden_ratio) #1.61803 
sess.close() 

回答

5

你可以使用Tensorboard圖的圖像。您需要編輯代碼才能輸出圖形,然後可以啓動張量板並查看它。特別參見TensorBoard: Graph Visualization。您創建了一個SummaryWriter幷包含其中的sess.graph_def。圖形def將被輸出到日誌目錄。

19

這正是張力板的創建原因。您需要稍微修改代碼以存儲有關圖形的信息。

import tensorflow as tf 
C_1 = tf.constant(5.0) 
C_2 = tf.constant(1.0) 
C_3 = tf.constant(2.0) 

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3 

with tf.Session() as sess: 
    writer = tf.summary.FileWriter('logs', sess.graph) 
    print sess.run(golden_ratio) 
    writer.close() 

這將在您的工作目錄下創建一個logs文件夾的事件文件。在此之後,您應該從命令行tensorboard --logdir="logs"運行tensorboard並導航到它提供的url(http://127.0.0.1:6006)。在您的瀏覽器中,轉到圖形選項卡並享受您的圖形。

如果你打算對TF做任何事情,你將會使用TB。因此,從officialtutorials和從此video瞭解更多是有意義的。