Google TensorFlow 學習筆記一 —— TensorFlow簡介
"TensorFlow is an Open Source Software Library for Machine INtenlligence"
本筆記參考tensorflow.org的教程,翻譯并記錄作者的學習過程,僅供參考,如有不當之處,請及時指出并多多包涵。
TensorFlow是一款開源的數學計算軟件,使用data flow graphs的形式進行計算。這種靈活的架構允許我們使用相同的API在單或多CPUs或GPU,servers設置移動設備上進行計算。
Data Flow Graph: 使用有向圖的節點和邊共同描述數學計算。graph中的nodes代表數學操作,也可以表示數據輸入輸出的端點。邊表示節點之間的關系,傳遞操作之間互相 使用的多位數組(tensors,張量),tensor在graph中流動——這也就是TensorFlow名字的由來。一旦節點相連的邊傳來了數據流, 節點就被分配到計算設備上異步的(節點間)、并行的(節點內)執行。參見上圖。
TensorFlow的特點:
- Deep Flexibility: TensorFlow并不只是一個規則的neural network庫,事實上如果你可以將你的計算表示成data flow graph的形式,就可以使用TensorFlow。用戶構建graph,寫內層循環代碼驅動計算,TensorFlow可以幫助裝配子圖。定義新的操作 只需要寫一個Python函數,如果缺少底層的數據操作,需要寫一些C++代碼定義操作。
- True Portability: 可以應用在不同設備上,cpus,gpu,移動設備,云平臺等
- Connect Research and Production
- Auto-Differentiation:TensorFlow的自動差分能力對很多基于Graph的機器學習算法有益??
- Language Options: TensorFlow很容易使用,有python接口和C++接口。其他語言可以使用SWIG工具使用接口。(SWIG,Simplified Wrapper and Interface Generator, 是一個非常優秀的開源工具,支持您將C/C++代碼與任何主流腳本語言相集成。)
- Maximize Performance: 充分利用硬件資源。TensorFlow可以將graph的不同計算單元分配到不同設備執行,使用TensorFlow處理副本。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!