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