0
在發(fā)布逾一周年之際,TensorFlow 終于將迎來史上最重大更新:TensorFlow 1.0。
對(duì)于不熟悉開源框架的讀者,TensorFlow 是谷歌 2015 年底推出的深度學(xué)習(xí)框架,在開發(fā)者社區(qū)享有盛譽(yù)。去年,它已成為 GitHub 最受歡迎的機(jī)器學(xué)習(xí)開源項(xiàng)目。因其高度普及率,尤其是在 Python 生態(tài)圈中,TensorFlow 的功能變化會(huì)對(duì)全世界的機(jī)器學(xué)習(xí)開發(fā)者造成重大影響。
本月初,谷歌公布了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一個(gè)“草稿”版本。近日,新的候選版本 TensorFlow 1.0.0-rc0 被發(fā)布出來,披露了更多技術(shù)細(xì)節(jié),標(biāo)志著我們離 “完全體”的 TensorFlow 1.0 更近一步。
雷鋒網(wǎng)消息,1.0 版本不僅為 TensorFlow 機(jī)器學(xué)習(xí)函數(shù)庫帶來多重升級(jí),而且為 Python 和 Java 用戶使用 TensorFlow 做開發(fā)降低了難度。另外,新版本的漏洞修補(bǔ)也得到了改善。更有意思的是,由于對(duì) TensorFlow 計(jì)算做優(yōu)化的新編譯器,在智能手機(jī)上運(yùn)行基于 TensorFlow 的機(jī)器學(xué)習(xí) APP 將成為可能。
由于 Python 是最常用的機(jī)器學(xué)習(xí)開發(fā)語言,TensorFlow 1.0 對(duì) Python 交互作了重點(diǎn)改進(jìn)——Python API 得到升級(jí),TensorFlow 使用的語法和隱喻(syntax、metaphor)與 Python 的能更好吻合,提升兩者之間的一致性。
雷鋒網(wǎng)獲知,該升級(jí)帶來了一個(gè)壞消息:現(xiàn)有 Python 應(yīng)用將無法兼容。TensorFlow 開發(fā)者們已經(jīng)發(fā)布了一個(gè)能把舊 TensorFlow API 轉(zhuǎn)化為新格式的腳本,但是該腳本無法解決所有問題——很多情況下,開發(fā)者需要人工調(diào)整腳本。
TensorFlow 現(xiàn)已支持與 Python 3 兼容的 Docker 鏡像。對(duì)于所有 Python 用戶,TensorFlow 現(xiàn)在可以通過 Python 的原生軟件包管理器 pip 來安裝。這是提升 TensorFlow 可用性的關(guān)鍵一步,尤其對(duì)于那些使用原生 Python 應(yīng)用分發(fā)、而非使用數(shù)據(jù)科學(xué)專用體系(比如 Anaconda)的用戶。
Java 是機(jī)器學(xué)習(xí)領(lǐng)域的另一個(gè)主流語言平臺(tái)。此前,TensorFlow 并沒有對(duì)其支持,更沒有一系列對(duì) Java 的捆綁,而新的 1.0 版本引入了一個(gè) Java API。但雷鋒網(wǎng)提醒,它還遠(yuǎn)未成熟,隨時(shí)可能會(huì)有變化。而且,你需要 Linux 或者 Mac OS 平臺(tái)上的來源來開發(fā) TensorFlow(你可以把這作為 Windows 端 TensorFlow 是二等公民的另一個(gè)證據(jù))。
XLA,使 TensorFlow 在移動(dòng)設(shè)備上運(yùn)行
TensorFlow 1.0 的最大變化或許不是新語言支持或者新算法,而是 XLA —— 全稱 Accelerated Linear Algebra,意為加速線性代數(shù),是一個(gè)針對(duì) TensorFlow 中線性代數(shù)運(yùn)算的試驗(yàn)性質(zhì)編譯器。它通過生成既能運(yùn)行于 GPU、又能在 CPU 運(yùn)行的機(jī)器代碼,來加速數(shù)學(xué)計(jì)算。目前, XLA 只支持英偉達(dá) GPU,但這與當(dāng)下機(jī)器學(xué)習(xí)應(yīng)用對(duì) GPU 支持的現(xiàn)狀是一致的。
XLA 提升了 TensorFlow 的移動(dòng)性。現(xiàn)有的、未經(jīng)調(diào)整的 TensorFlow 程序只需創(chuàng)建一個(gè)后端即可在新硬件平臺(tái)上運(yùn)行。這么做的意義非同尋常 ——此前, IBM 就為它的 PowerAI 機(jī)器學(xué)習(xí)硬件解決方案加入了對(duì) TensorFlow 的支持,前者由 Power8 CPU 和 GPU 混合運(yùn)行。
TensorFlow的工程師已經(jīng)縮減了它的整體內(nèi)存占用和 APP 的存儲(chǔ)空間占用。這些優(yōu)化對(duì)各類硬件運(yùn)行環(huán)境都有好處,但對(duì)于移動(dòng)平臺(tái)尤其重要。此前的 TensorFlow 版本已經(jīng)加入了對(duì)安卓、iOS 和 Raspberry Pi(樹莓派微型電腦)硬件平臺(tái)的支持,使得 TensorFlow 能在這類設(shè)備上處理諸如圖像分類之類的任務(wù)。
關(guān)于機(jī)器學(xué)習(xí)的討論往往會(huì)涉及高端硬件——機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí),是發(fā)展高端硬件的重要推動(dòng)力量,不管是定制 CPU、GPU 陣列、FPGA 還是支持云端壞境的規(guī)?;布?。但有理論認(rèn)為,創(chuàng)造出能在普通智能手機(jī)上運(yùn)行的機(jī)器學(xué)習(xí)模型,而無需 24 小時(shí)每時(shí)每刻的云端支持,將會(huì)孵化出一系列新型應(yīng)用。這便是 TensorFlow 1.0 的野心之一。
via infoworld
相關(guān)文章:
機(jī)器學(xué)習(xí)零基礎(chǔ)?手把手教你用TensorFlow搭建圖像識(shí)別系統(tǒng)(一)| 干貨
Jeff Dean解析谷歌大腦中的深度學(xué)習(xí)工作以及TensorFlow的前世今生 | AI Frontiers
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。