TensorFlow 1.0:在智能手機端解鎖機器學習
譯文【51CTO.com快譯】作為谷歌打造的深度學習框架,TensorFlow已經公布了一套完整的1.0候選版本。
1.0版本不僅提升了該框架的機器學習功能數量,同時亦簡化了Python與Java用戶的相關開發流程并增強了原有調試機制。新的編譯器得以對TensorFlow計算機制進行優化,這意味著將有更多新型機器學習應用運行在智能手機級別的硬件之上。
專注于Pythong與Java
由于Python已經成為構建及使用機器學習應用的主要平臺之一,因此TensorFlow 1.0也及時改進了與Python的交互能力。TensorFlow Python API迎來升級,這意味著TensorFlow所使用的語法及比喻能夠更好地與Python相匹配,最終提升二者間的一致性。
但遺憾的是,這些變更打破了對現有Python應用的支持效果。TensorFlow開發者已經發布對應腳本,能夠將原有TensorFlow API腳本升級為新的格式,但其尚無法解決全部問題; 大家仍可能需要手動進行腳本調整。
TensorFlow目前可用于兼容Python 3的Docker鏡像之內,且允許Python用戶利用Python原生軟件包管理器pip進行安裝。這將幫助更多普通用戶(而非專門研究數據科學)快速上手TensorFlow。
Java屬于機器學習的另一大主要語言平臺,但TensorFlow此前一直沒有對其進行綁定。該框架的1.0版本引入了Java API,但其尚不完善且隨時可能出現變更。另外,要使用該Java API,大家需要配合Linux或者 Mac OS環境。(很明顯,Windows在TensorFlow陣營中仍是二等公民。)
利用XLA走向移動端
TensorFlow 1.0的***變化或許并非源自新的支持能力或者新算法,而在于一款實驗性線性代數編譯器,即Accelerated Linear Algebra(簡稱XLA)。其能夠生成可運行在CPU或者GPU上的機器碼,從而顯著提升數學運算效率。就目前來看,XLA只支持英偉達GPU,但其未來還將為機器學習應用提供更多GPU支持能力。
XLA還提升了TensorFlow的可移植性,因此現有TensorFlow程序能夠無需修改即運行在新的硬件平臺之上。這主要歸功于IBM公司將TensorFlow支持能力加入其由GPU與Power8 CPU組合而成的PowerAI硬件解決方案之上。
TensorFlow項目的工程師們已經降低了其整體內存使用量及應用體積。這些優化雖然具備普遍的收益,但在移動端則體現得特別明顯。此前的TensorFlow各版本已經能夠支持Android、iOS與Raspberry Pi硬件平臺,而現在其已經能夠在此類設備上執行鏡像分類等操作。
說起機器學習,我們往往會聯想到各類高端硬件,包括定制CPU、GPU陣列、FPGA以及云環境等。但新的理論認為,在普通智能手機上構建可運行的機器學習模型將能夠帶來更多新的應用類別。即使這部分目標無法徹底實現,這項努力仍將能夠為TensorFlow的發展帶來有力推動。
原文標題:TensorFlow 1.0 unlocks machine learning on smartphones
原文作者:Serdar Yegulalp
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】