下文會出現的一些知識點:TensorFlow的計算模型、資料模型、執行模型,TensorFlow的工作原理。
兩個重要概念——Tensor和Flow:
Tensor是張量,在TensorFlow中可以簡單理解為多維陣列。
Flow是流,表示張量之間通過計算相互轉化的過程。
TensorFlow 計算模型——計算圖:
TensorFlow是一個通過計算圖的形式來表述計算的程式設計系統,每一個計算都是計算圖上的一個節點,節點之間的邊是計算之間的依賴關係。
TensorFlow程式一般可分為兩個階段。一,定義計算圖中所有的計算。二,執行計算。
TensorFlow 資料模型——張量:
張量是TensorFlow管理資料的形式。在TensorFlow程式中,所有資料都通過張量的形式來表示。從功能角度上,張量可以被簡單理解為多維陣列。
張量在TensorFlow中的實現並不是直接採用陣列的形式,它只是對運算結果的引用。
換句話說,在張量中並沒有真正儲存數字,它儲存的是如何得到這些數字的計算過程。
一個張量中主要儲存了三個屬性:名字、維度、型別。
張量主要有兩類用途,一是對中間計算結果的引用,二是當計算圖構造完成後可用來通過會話獲得計算結果。
TensorFlow 執行模型——會話:
TensorFlow中的會話(session)用來執行定義好的運算。會話擁有並管理TensorFlow程式執行時的所有資源。當所有計算完成後需關閉會話幫助系統回收資源,否則可能出現資源洩露。
TensorFlow可以通過Python的上下文管理器來使用會話。