TensorFlow 2.0 Alpha 版來了!吳恩達配套課程同步上線
雷鋒網 AI 科技評論按: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 的其他軟體的更新和最新成果,包括:經過更新的 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 版中則將這些組件將打包成了一個綜合性平台,支持從訓練到部署的機器學習工作流,其新架構的簡化概念圖如下所示:
而更簡單化的新框架更是帶來了更加簡潔的工作流,即:先使用 tf.data 創建的輸入管道讀取訓練數據;然後使用 tf.keras 或 Premade Estimators 構建、訓練和驗證模型;接著用 eager execution 進行運行和調試;再使用 Distribution Strategy API 在不更改模型定義的情況下,基於 CPU、GPU 等不同硬體配置上分布和訓練模型;最後將模型導出到 SavedModel 保存。其工作流如下圖所示:
此外,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 版官方網址:https://www.tensorflow.org/alpha
TensorFlow 2.0 Alpha 版開源地址:https://github.com/orgs/tensorflow/projects/4
註:針對不同級別的開發者,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:從入門到精通》是 Deeplearning.ai 的一系列實踐課程,由吳恩達老師參與開發並執教,目的在於幫助大家了解:
如何在 TensorFlow 中構建機器學習模型
利用深度神經網路和卷積神經網路構建圖像識別演算法了解
如何在移動設備和網路上部署模型
學習圖像識別以外的物體檢測、文本識別等,進入等
擴展針對自定義學習/訓練的基本 API
除了吳恩達老師,該課程的另一重量級教師為 Laurence Moroney 博士。
該課程分四周進行,課程安排為:
第一周:介紹一種新的變成範式
第二周:計算機視覺簡介
第三周:利用卷積神經網路增強計算機視覺
第四周:利用真實世界的圖像
課程鏈接地址:https://www.deeplearning.ai/tensorflow-specialization/
《TensorFlow 深度學習簡介》則是優達學城的免費課程,它自 2016 年推出以來,目前已有超過 40 萬名學生參加,而今天則正式成為 Deeplearning.ai TensorFlow 系列課程的一部分。該課程從實踐的角度講解了軟體深度學習知識,以及在移動設備、雲端和瀏覽器上實際運行 TensorFlow 模型,讓學生掌握創建 AI 應用所需的所有技能。
該課程目前已經更新了 4 堂課,分別為:第一堂課:課程大綱介紹;第二堂課:機器學習簡介;第三堂課:訓練 MNIST 模型;第四堂課:CNN 簡介。目前,該 4 堂課已全部上線,而第 5 堂課則還未更新。
課程鏈接地址: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 發展成為培訓機器學習模型的最佳技術中心,並提供強大的隱私保障。
TensorFlow Federated 開源地址:https://github.com/tensorflow/federated
TensorFlow Privacy 開源地址:https://github.com/tensorflow/privacy
對 2019 年度 TensorFlow 開發者峰會感興趣的同學,可前往峰會官網:https://www.tensorflow.org/dev-summit回看視頻並查看相關信息。雷鋒網雷鋒網
※小鵬汽車招募資深售後專家羅炳春 任售後高級總監
※斯坦福大學發布 StanfordNLP,支持多種語言
TAG:雷鋒網 |