接下來會更新一系列博客,介紹TensorFlow的入門使用,盡可能詳細。
本文概述:
說明TensorFlow的數據流圖結構
1、數據流圖介紹
TensorFlow是一個采用數據流圖(data flow graphs),用於數值計算的開源軟件庫。節點(Operation)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯系的多維數據數組,即張量(tensor)。
2、案例:TensorFlow實現一個加法運算
2.1 代碼
# 實現一個加法運算 con_a = tf.constant(3.0) con_b = tf.constant(4.0) sum_ = tf.add(con_a, con_b) with tf.Session() as sess: print(sess.run(sum_))
注意:此時往往會出現一堆紅色警告,忽略或者輸入下面的代碼屏蔽即可。
警告指出您的CPU支持AVX運算加速了線性代數計算,即點積,矩陣乘法,卷積等。可以從源代碼安裝TensorFlow來編譯,當然也可以選擇關閉
import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
2.2 TensorFlow結構分析
TensorFlow 程序通常被組織成一個構建圖階段和一個執行圖階段。
在構建階段,op(op指的就是上面說的節點,表示數學操作,如加法,乘法,點積等)的執行步驟被描述成一個圖。
在執行階段,使用會話執行執行圖中的 op。
- 圖和會話 :
- 圖:這是 TensorFlow 將計算表示為指令之間的依賴關系的一種表示法
- 會話(Session):TensorFlow 跨一個或多個本地或遠程設備運行數據流圖的機制
- 張量:TensorFlow 中的基本數據對象
- 節點:提供圖當中執行的操作
簡單地說,tf框架中,代碼的執行都要在會話中進行,而這里所說的圖往往指的都是默認圖,不需要我們去指定。因此我們只要開啟會話,(在默認圖中)執行代碼即可,代碼所執行的操作,我們稱之op,即節點。