一、定義
TensorFlow :是一個採用數據流圖(data flow graphs),用於數值計算的開源軟件庫。
節點:一般用來表示施加的數學操作,但也可以表示數據輸入(feed in)的起點/輸出(push out)的終點,或者是讀
取/寫入持久變量(persistent variable)的終點。
線:表示"節點"之間的輸入/輸出關係。這些數據“線”可以輸運“size可動態調整”的多維數據數組,即“張量”(tensor)。
二、工作過程
TensorFlow整個算法包含三個部分,分別是計算圖、張量和模型會話
2.1、計算圖
計算圖是TensorFlow整個框架,按照計算圖啓動一個會話,通過會話中完成變量賦值、計算等操作,得到結果。整個計
算圖分爲兩個部分。
(1)構造部分:主要工作是創建源節點和源節點輸出傳遞給其他節點做運算
(2)執行部分:通過session執行圖中的計算
2.2、張量
在TensorFlow中,張量是對運算結果的引用,運算結果多以數組的形式存儲,與numpy中數組不同的是張量還包含三個
重要屬性名字、維度、類型。張量的名字,是張量的唯一標識符,通過名字可以發現張量是如何計算出來的。比如"add:0"代表
的是計算節點"add"的第一個輸出結果。維度和類型與數組類似。
2.3、模型會話
用來執行構造好的計算圖,同時會話擁有和管理程序運行時的所有資源。當計算完成之後,需要通過關閉會話來幫助系統回
收資源。
在TensorFlow中使用會話有兩種方式,第一種需要明確調用會話生成函數和關閉會話函數:
# 創建session session = tensorflow.Session() #獲取運算結果 session.run() #關閉會話,釋放資源 session.close()
第二種可以使用with的方式:
with tf.Session() as session: session.run()