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