0

在發布逾一周年之際,TensorFlow 終于將迎來史上最重大更新:TensorFlow 1.0。
對于不熟悉開源框架的讀者,TensorFlow 是谷歌 2015 年底推出的深度學習框架,在開發者社區享有盛譽。去年,它已成為 GitHub 最受歡迎的機器學習開源項目。因其高度普及率,尤其是在 Python 生態圈中,TensorFlow 的功能變化會對全世界的機器學習開發者造成重大影響。
本月初,谷歌公布了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一個“草稿”版本。近日,新的候選版本 TensorFlow 1.0.0-rc0 被發布出來,披露了更多技術細節,標志著我們離 “完全體”的 TensorFlow 1.0 更近一步。
雷鋒網消息,1.0 版本不僅為 TensorFlow 機器學習函數庫帶來多重升級,而且為 Python 和 Java 用戶使用 TensorFlow 做開發降低了難度。另外,新版本的漏洞修補也得到了改善。更有意思的是,由于對 TensorFlow 計算做優化的新編譯器,在智能手機上運行基于 TensorFlow 的機器學習 APP 將成為可能。

由于 Python 是最常用的機器學習開發語言,TensorFlow 1.0 對 Python 交互作了重點改進——Python API 得到升級,TensorFlow 使用的語法和隱喻(syntax、metaphor)與 Python 的能更好吻合,提升兩者之間的一致性。
雷鋒網獲知,該升級帶來了一個壞消息:現有 Python 應用將無法兼容。TensorFlow 開發者們已經發布了一個能把舊 TensorFlow API 轉化為新格式的腳本,但是該腳本無法解決所有問題——很多情況下,開發者需要人工調整腳本。
TensorFlow 現已支持與 Python 3 兼容的 Docker 鏡像。對于所有 Python 用戶,TensorFlow 現在可以通過 Python 的原生軟件包管理器 pip 來安裝。這是提升 TensorFlow 可用性的關鍵一步,尤其對于那些使用原生 Python 應用分發、而非使用數據科學專用體系(比如 Anaconda)的用戶。
Java 是機器學習領域的另一個主流語言平臺。此前,TensorFlow 并沒有對其支持,更沒有一系列對 Java 的捆綁,而新的 1.0 版本引入了一個 Java API。但雷鋒網提醒,它還遠未成熟,隨時可能會有變化。而且,你需要 Linux 或者 Mac OS 平臺上的來源來開發 TensorFlow(你可以把這作為 Windows 端 TensorFlow 是二等公民的另一個證據)。
XLA,使 TensorFlow 在移動設備上運行

TensorFlow 1.0 的最大變化或許不是新語言支持或者新算法,而是 XLA —— 全稱 Accelerated Linear Algebra,意為加速線性代數,是一個針對 TensorFlow 中線性代數運算的試驗性質編譯器。它通過生成既能運行于 GPU、又能在 CPU 運行的機器代碼,來加速數學計算。目前, XLA 只支持英偉達 GPU,但這與當下機器學習應用對 GPU 支持的現狀是一致的。
XLA 提升了 TensorFlow 的移動性。現有的、未經調整的 TensorFlow 程序只需創建一個后端即可在新硬件平臺上運行。這么做的意義非同尋常 ——此前, IBM 就為它的 PowerAI 機器學習硬件解決方案加入了對 TensorFlow 的支持,前者由 Power8 CPU 和 GPU 混合運行。
TensorFlow的工程師已經縮減了它的整體內存占用和 APP 的存儲空間占用。這些優化對各類硬件運行環境都有好處,但對于移動平臺尤其重要。此前的 TensorFlow 版本已經加入了對安卓、iOS 和 Raspberry Pi(樹莓派微型電腦)硬件平臺的支持,使得 TensorFlow 能在這類設備上處理諸如圖像分類之類的任務。
關于機器學習的討論往往會涉及高端硬件——機器學習,尤其是深度學習,是發展高端硬件的重要推動力量,不管是定制 CPU、GPU 陣列、FPGA 還是支持云端壞境的規模化硬件。但有理論認為,創造出能在普通智能手機上運行的機器學習模型,而無需 24 小時每時每刻的云端支持,將會孵化出一系列新型應用。這便是 TensorFlow 1.0 的野心之一。
via infoworld
相關文章:
機器學習零基礎?手把手教你用TensorFlow搭建圖像識別系統(一)| 干貨
Jeff Dean解析谷歌大腦中的深度學習工作以及TensorFlow的前世今生 | AI Frontiers
雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。