1、Tensorflow作用
Tensorflow 對於機器學習英語來說就如同Linux、IOS等操作系統一樣,一方面爲用戶構建上層應用提供接口,讓用戶以此爲平臺,開發出各種各樣的應用產品,另一方面管理和控制底層的計算機硬件和軟件資源,以提高資源利用率,降低硬件差異等問題所帶來的研發車本。
2、Tensorflow定義
Tensorflow是一個基於數據流圖的數值計算開源軟件庫,其靈活的架構設計可以讓用戶以單機或者分佈式的方式將計算部署在臺式機、服務器、甚至手機上。
3、Tensorflow優點
1)、使用Tensorflow可以用非常簡潔的語言實現各種複雜的算法模型,將研究極爲消耗精力的編碼和調試工作解放出來;
2)、Tensorflow的內核執行系統使用cpp編寫,因此保持了非常高效的執行效率;
3)、Tensorflow優秀的分層架構設計使得模型可以非常方便的運行在異構設備環境上;
4)、Tensorflow不僅包含TensorBoard等優秀的配套輔助工具,第三方社區也貢獻了諸如TFLearn等好用的輔助項目;
4、基本概念之計算圖(數據流圖)
數據流圖是有向圖,圖中的點表示各種數學計算操作,邊表示操作與操作之間傳遞的高維數組數據,稱爲tensor。
5、基本概念之tensor(張量)
tensor代表多維數組,對應神經網絡計算中的高維矩陣,tensor可以有任意維度,每個維度也可以有任意長度,特別來說。
一維tensor就是向量,二維tensor是矩陣,四維表示一個mini-batch的圖片;
6、基本概念之算子(operation)
算子op是參與計算的基本單位,每個算子對應一種數學運算;
7、基本概念之Session(回話)
Session是驅動TensorFlow系統執行計算交互的入口,Session負責完成多計算設備或者集羣分佈的節點佈置和數據傳輸節點的添加,並負責將子圖分配給相應的執行器單元來運行。
8、Tensorflow系統架構
1)、Tensorflow是擁有“client -- master -- worker” 架構的分佈式系統。
2)、在一般的執行流程中,客戶端通過會話tf.Session接口與master進行通信,並向master提交觸發執行的請求,master將執行任務分配到一個或多個worker進程中,執行的結果通過master返回給客戶端。
3)、worker是最終負責執行的計算的角色,每個worker進程都會管理和使用計算機上的計算硬件設備資源。