TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

 2019-03-07 20:01:00.0

按:3 月 7 日凌晨,谷歌 TensorFlow 開發者峯會(TensorFlow Dev Summit 2019)在美國加州舉行。自今年 1 月份谷歌放出 TensorFlow 2.0 開發者預覽版,開發者們如今終於迎來了萬衆期待的 TensorFlow 2.0 Alpha 版的正式發佈。也許是爲了呼應谷歌此前將 TensorFlow 2.0 稱作重要的「里程碑」,TensorFlow 的 Logo 也從過去的三維積木狀變成了扁平化風格的「T」和「F」字母拼接。

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

除了發佈 TensorFlow 2.0 Alpha 版,谷歌在本次大會上還發布了「一籮筐」圍繞 TensorFlow 的其他軟件的更新和最新成果,包括:經過更新的 TensorFlow Lite 1.0、TensorFlow js 1.0 和 Swift for TensorFlow 0.2 ,端到端的機器學習平臺 TensorFlow Extended (TFX) 以及兩款面向隱私問題的 TensorFlow Federated 開源框架和 TensorFlow Privacy 開源庫。

另外值得一提的是,隨着 TensorFlow 2.0 Alpha 版的到來,谷歌還發布了兩門深度學習課程:Udacity 的《TensorFlow 深度學習簡介》和 Deeplearning.ai 的《TensorFlow:從基礎知識到掌握專業化》系列課程。

TensorFlow 2.0 Alpha 版:強調簡單易用性

今年 1 月份,谷歌就放出 TensorFlow 2.0 開發者預覽版,引起了開發者們的滿腔期待。而不到兩個月後隨之而來的 TensorFlow 開發者峯會,其最受關注的環節莫過於 TensorFlow 2.0  Alpha 版的發佈。

據悉,針對 TensorFlow 2.0,TensorFlow 團隊聽取了開發者關於「簡化 API、減少冗餘並改進文檔和示例」的建議來進行設計,將 TensorFlow 2.0 Alpha 版的更新重點放在簡單和易用性上,主要進行了以下更新:

  • 使用 Keras 和 eager execution,輕鬆建立簡單的模型並執行

  • 在任何平臺上的實現生產環境的模型部署

  • 爲研究提供強大的實驗工具

  • 通過清除不推薦使用的 API 和減少重複來簡化 API

同時,在過去的幾年中,谷歌陸續在 TensorFlow 中添加了許多組件,而 TensorFlow 2.0 Alpha 版中則將這些組件將打包成了一個綜合性平臺,支持從訓練到部署的機器學習工作流,其新架構的簡化概念圖如下所示:

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

而更簡單化的新框架更是帶來了更加簡潔的工作流,即:先使用 tf.data 創建的輸入管道讀取訓練數據;然後使用 tf.keras 或 Premade Estimators 構建、訓練和驗證模型;接着用 eager execution 進行運行和調試;再使用 Distribution Strategy API 在不更改模型定義的情況下,基於 CPU、GPU 等不同硬件配置上分佈和訓練模型;最後將模型導出到 SavedModel 保存。其工作流如下圖所示:

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

此外,TensorFlow 2.0 Alpha 版還帶來了一些新的功能,允許研究人員和高級用戶使用豐富的擴展進行實驗,如 Ragged Tensors、TensorFlow Probability、Tensor2Tensor 等。

爲了簡化代碼遷移到 TensorFlow 2.0 的過程,谷歌還提供一個轉換工具和指導文檔用來更新 TensorFlow 1.x Python 代碼以使用與 TensorFlow 2.0 兼容的 API,並將無法自動轉換的代碼標記出來。

在 API 方面的更新也是 TensorFlow 2.0 Alpha 版的一大亮點,其將 Keras API 指定爲構建和訓練深度學習模型的高級 API,並捨棄掉其他 API。另外值得一提的是,Keras 提供了幾個模型構建 API,例如可以利用 Sequential API 構建模型,然後使用「compile」和「fit」,tensorflow.org 中所有常見的」tf.keras」示例均可在 2.0 中便捷使用。

TensorFlow 2.0 Alpha 版的另一個最明顯的改變就是將用於機器學習的實驗和研究平臺——Eager execution 設置爲默認優先模式,這就意味着任何運算在調用後就會立即運行,從而不再需要預先定義靜態圖,就可以通過「tf.Session.run()」執行圖的各個部分,讓執行過程變得更加簡單和快捷。

此外,Eager execution 還有助於原型製作、調試和監控運行中的代碼,用戶可使用 Python 調試程序檢查變量、層及梯度等對象,並利用裝飾器「@tf.function」中內置的 Autograph 直接獲取圖表優化和效率,這整個過程不僅能夠保留 TensorFlow1.x 基於靜態計算圖執行的所有優點:性能優化、遠程執行,以及序列化、導出和部署的能力,同時還增加了用簡單 Python 表達程序的靈活性和易用性。

整體而言,TensorFlow 2.0 Alpha 版具有以下三大特性

  • 第一,易用性,其主要體現在使用 tf.keras 作爲高級 API,且將 Eager execution 作爲默認模式。

  • 第二,簡潔性,其主要體現在 TensorFlow 2.0 Alpha 版刪除了重複的功能,並且不同 API 的調用語法也變得一致、直觀,同時它的兼容性更加完善。

  • 第三,靈活性,其主要體現在 TensorFlow 2.0 Alpha 版提供了完整的低級 API,並可以在 tf.raw_ops 中訪問內部操作,同時還提供了變量、checkpoint 以及層的可繼承接口。

開發者峯會上,TensorFlow 工程總監 Rajat Monga 也向大家呈現了 TensorFlow 這幾年來的「戰績」:自 2015 年 11 月推出以來,TensorFlow 總下載量超過 4100 萬次,提交了 5 萬多次代碼更新,目前已有 1800 多名來自全世界的貢獻者。

而隨着更加順從民意、使用更加簡單的 TensorFlow 2.0  Alpha 版的發佈,TensorFlow 又將收穫怎樣的成績呢?大家可以拭目以待。

注:針對不同級別的開發者,TensorFlow 2.0 Alpha 版設置了兩版教程:

  • 初學者版:使用的是 Keras Sequential API,這是最簡單的 TensorFlow 2.0 入門方法。

  • 資深人士版:展示如何命令式地編寫正向傳遞、如何使用 GradientTape 編寫自定義訓練循環,以及如何使用 tf.function 一行代碼自動編譯代碼。

兩門深度學習課程:配套 TensorFlow 2.0 Alpha 版

伴隨着 TensorFlow 2.0 Alpha 版的發佈,谷歌還特別應景地一同發佈了配套的深度學習課程:Deeplearning.ai 的《TensorFlow:從入門到精通》(「TensorFlow: From Basics to Mastery Specialization」)和優達學城的《TensorFlow 深度學習簡介》(「Intro to TensorFlow for Deep Learning」)。

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

《TensorFlow:從入門到精通》是 Deeplearning.ai 的一系列實踐課程,由吳恩達老師參與開發並執教,目的在於幫助大家瞭解:

  • 如何在 TensorFlow 中構建機器學習模型

  • 利用深度神經網絡和卷積神經網絡構建圖像識別算法瞭解

  • 如何在移動設備和網絡上部署模型

  • 學習圖像識別以外的物體檢測、文本識別等,進入等

  • 擴展針對自定義學習/訓練的基本 API

除了吳恩達老師,該課程的另一重量級教師爲 Laurence Moroney 博士。

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

該課程分四周進行,課程安排爲:

  • 第一週:介紹一種新的變成範式

  • 第二週:計算機視覺簡介

  • 第三週:利用卷積神經網絡增強計算機視覺

  • 第四周:利用真實世界的圖像

課程鏈接地址:https://www.deeplearning.ai/tensorflow-specialization/

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

《TensorFlow 深度學習簡介》則是優達學城的免費課程,它自 2016 年推出以來,目前已有超過 40 萬名學生參加,而今天則正式成爲 Deeplearning.ai TensorFlow 系列課程的一部分。該課程從實踐的角度講解了軟件深度學習知識,以及在移動設備、雲端和瀏覽器上實際運行 TensorFlow 模型,讓學生掌握創建 AI 應用所需的所有技能。

該課程目前已經更新了 4 堂課,分別爲:第一堂課:課程大綱介紹;第二堂課:機器學習簡介;第三堂課:訓練 MNIST 模型;第四堂課:CNN 簡介。目前,該 4 堂課已全部上線,而第 5 堂課則還未更新。

TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線

課程鏈接地址:https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187

「一籮筐」其他軟件迎來重大更新

正式發佈 TensorFlow.js 1.0 、TensorFlow Lite 1.0 

實際上,除了 TensorFlow 2.0  Alpha 版,本次峯會的另一亮點便是正式發佈 TensorFlow.js 1.0 和 TensorFlow Lite 1.0 了。

自 2018 年發佈以來,TensorFlow.js 被大量採用,目前其下載量達 30 萬次,Github 星標數量超過 1 萬,項目貢獻者超過 100 個。本次正式發佈的 TensorFlow.js 1.0 版本,在先前版本的基礎上進行的更新包括:增加了一個針對 Web 開發人員的面向圖像、文本、語音等常見機器學習任務的現成模型庫;添加了運行 JS 的更多平臺,例如桌面 app、移動端本地的平臺等。另外,該版本在性能上有了較大的提升。

作爲一個面向移動和嵌入式設備打造的輕量級、跨平臺解決方案,TensorFlow Lite 主要解決的問題是:機器學習在手機、汽車、可穿戴設備等終端設備上面臨着有限的計算力、內存以及電池容量等諸多限制。

自 2017 年 5 月的谷歌 I/O 開發者大會被首次提出以來,TensorFlow Lite 目前已部署到超 20 億移動設備中,並已應用到谷歌搜索、谷歌助手、Pixel Visual Core 等諸多原生谷歌應用和服務、以及谷歌合作伙伴的產品中。TensorFlow Lite 對於谷歌的重要性不言而喻,本次正式發佈 TensorFlow Lite 1.0 可謂是衆望所歸。

TensorFlow.js 1.0 版本開源地址:https://github.com/tensorflow/tfjs/releases

爲 TensorFlow 家族再添兩位新成員

另外,谷歌還爲 TensorFlow 家族再添了兩位新成員:TensorFlow Federated(TFF)開源框架和 TensorFlow Privacy 機器學習開源庫。

 TensorFlow Federated(TFF)是一個開源框架,適用於面向分散式數據執行機器學習和其他計算。它採用一種聯合學習(Federated Learning,FL)的機器學習方法,可在多個客戶端上訓練共享的全局模型,同時在本地保存訓練數據。

TensorFlow Privacy 則是一個 TensorFlow 機器學習開源庫,能夠讓開發人員更容易培訓具有強大隱私保障的 AI 模型。谷歌表示,計劃將 TensorFlow Privacy 發展成爲培訓機器學習模型的最佳技術中心,並提供強大的隱私保障。

對 2019 年度 TensorFlow 開發者峯會感興趣的同學,可前往峯會官網:https://www.tensorflow.org/dev-summit 回看視頻並查看相關信息。

文章來源:雷鋒網