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