資料流圖筆記
阿新 • • 發佈:2018-12-20
1.資料流圖
資料流圖由兩個基本構件(節點和邊)組成。
(1)節點(node)
在資料流圖的語境中,節點通常以圓圈、橢圓和方框表示,代表了對資料所做的運算或某種操作。
(2)邊(edge) 對應於向Operation傳入和從Operation傳出的實際數值,通常以箭頭表示。
注:在資料流圖中的每一個節點都被稱為一個Operation(簡記為Op)。
各Op接收0個或多個Tensor物件作為輸入,並輸出0個或多個Tensor物件。
2.節點的依賴關係
對於任意節點A,如果其輸出對於某個後繼節點B的計算是必需的,則稱節點A是節點B的依賴節點。 如果兩個節點A和B彼此不需要對方的任何資訊,則稱兩者是獨立的。
依賴關係分為直接依賴、間接依賴。
3.在tensorflow中定義資料流圖
示例:
import tensorflow as tf
a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_b")
c = tf.multiply(a,b, name="mul_c") #乘法
d = tf.add(a,b, name="add_d") #加法
e = tf.add(c,d, name="add_e") #加法
sess = tf.Session()
sess.run(e)
writer = tf.summary.FileWriter('./my_graph',sess.graph) #繪製資料流圖
#第一個引數是一個字串輸出目錄,即資料流圖的描述在磁碟中的存放路徑。注:"./"表示當前路徑
#第二個引數是Session物件的graph屬性
writer.close()
sess.close()