• TensorFlow™ 是一個開放源代碼軟件庫,用於進行高性能數值計算
• 藉助其靈活的架構,用戶能夠輕鬆地將計算工做部署到多種平臺
(CPU、GPU、TPU)和設備(桌面設備、服務器集羣、移動設備、邊
緣設備等)
• TensorFlow™ 最初是由 Google Brain 團隊(隸屬於 Google 的 AI
部門)中的研究人員和工程師開發的,可爲機器學習和深度學習提供
強力支持nodeTensorFlow 的Hello world:編程
計算圖:數組
TensorFlow = Tensor + Flow服務器
Tensor 張量
數據結構:多維數組數據結構Flow 流
計算模型:張量之間經過計算而轉換的過程架構
TensorFlow是一個經過 計算圖的形式表述計算的編程系統
每個計算都是計算圖上的一個節點
節點之間的邊描述了計算之間的關係app計算圖是一個有向圖,由如下內容構成:
• 一組節點,每一個 節點都表明一個 操做,是一種 運算
• 一組有向邊,每條 邊表明節點之間的 關係(數據傳遞和
控制依賴)機器學習
計算圖(數據流圖)的概念
TensorFlow有兩種邊:
• 常規邊(實線):表明數據依賴關係。一個節點的運算輸出成
爲另外一個節點的輸入,兩個節點之間有tensor流動( 值傳遞)
• 特殊邊(虛線):不攜帶值,表示兩個節點之間的 控制相關性。
好比, happens- - before 關係,源節點必須在目的節點執行前完
成執行性能
張量:學習
• 在TensorFlow中,全部的數據都經過張量的形式來表示
• 從功能的角度,張量能夠簡單理解爲多維數組
零階張量表示 標量(scalar),也就是 一個數;
一階張量爲 向量(vector),也就是 一維數組;
n n 階張量能夠理解爲一個n n 維數組;
• 張量並無真正保存數字,它保存的是計算過程張量的屬性:
名字( name )
「node:src_output」:node 節點名稱,src_output 來自節點的第幾個輸出
形狀( shape )
張量的維度信息, shape=() ,表示是標量
類型( type )
每個張量會有一個惟一的類型
TensorFlow會對參與運算的全部張量進行類型的檢查,發現類型不匹配時會報錯
階爲1的張量等價於向量;
階爲2的張量等價於矩陣,經過 t[ i,j ] 獲取元素;
階爲3的張量,經過 t[ i,j,k ] 獲取元素;
操做: