當前位置:
首頁 > 科技 > TensorFlow 2.0 Alpha 版發布啦!

TensorFlow 2.0 Alpha 版發布啦!

【AI科技大本營導語】在今天舉行的 2019 年 TensorFlow 開發者峰會上,谷歌宣布了其針對研究和生產的開源機器學習庫的一些更新。TensorFlow 2.0 alpha 提供即將發生的變化的預覽,旨在讓初學者更容易使用 ML。

文 /Wolff Dobson 和 Josh Gordon

TensorFlow 2.0 注重易用性,提供有 API 供初學者和資深人士用來創建機器學習模型。在 TensorFlow 2.0 的新功能 和 標準化 Keras 等近期發布的文章中,我們介紹過它的新功能和平台的發展方向。

我們在 TensorFlow 開發者峰會 上宣布了 TensorFlow 2.0 Alpha 版,用戶現在可以搶先體驗。

註:TensorFlow 開發者峰 鏈接

https://www.tensorflow.org/dev-summit

入門指南

要快速上手 TensorFlow 2.0 Alpha 版,最佳途徑是前往 TensorFlow 的新網站。您可以在 tensorflow.org/alpha 上找到 Alpha 版的教程和指南。Alpha 版文檔中的每個教程均會自動下載並安裝 TensorFlow 2.0 Alpha 版,並且後續將提供更多內容!

註:tensorflow.org/alpha 鏈接

https://www.tensorflow.org/alpha

我們建議您先查看面向初學者和資深人士的 「Hello World」 示例,然後再閱讀 Effective TensorFlow 2.0 等指南。

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

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

註:初學者示例 鏈接

https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/beginner.ipynb

資深人士示例 鏈接

https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/advanced.ipynb

除此之外,我們還提供有各類新 指南,包括:

重要的 AutoGraph 指南(讓您能夠獲得圖表的全部性能和可移植性,而無需編寫圖表級代碼)

代碼升級 指南(通過轉換腳本可以方便地將 TensorFlow 1.x 代碼轉換為 2.0 代碼)

其他有關 Keras 的初期指南

註:指南 鏈接

https://github.com/tensorflow/docs/tree/master/site/en/r2/guide

AutoGraph 鏈接

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

Kera 鏈接

https://github.com/tensorflow/docs/tree/master/site/en/r2/guide/keras

若您想要查看更改的內容,也可參閱 API 參考 修訂版(現在符號的使用大大減少)。請注意,雖然我們正在積極開發 TensorFlow 2.0,但 tensorflow.org 的落地頁仍默認為 1.x 文檔。若您打算研究 API 參考,請務必選擇合適的 TensorFlow 版本。

註:API 參考 鏈接

https://www.tensorflow.org/versions/r2.0/api_docs/python/tf

安裝

若要安裝 Alpha 版,我們建議您創建一個新的虛擬環境並使用 「pip install --upgrade --pre tensorflow」 或 「tensorflow-gpu」(需要 CUDA 10)。我們會較為頻繁地更新此版本,添加新功能。您亦可將 「!」 添加至命令 「!pip install --upgrade --pre tensorflow」,在 Colab 中試用。(以上所有教程和指南均會自動安裝最新版本)。

註:Colab 鏈接

https://colab.research.google.com/notebooks/welcome.ipynb#recent=true

函數,而非會話

下面我們深入介紹 2.0 中的這兩個功能如何協同工作:Eager execution 與 「@tf.function」。

其中一個最明顯的變化是,TensorFlow 是 「Eager 優先」,這意味著 op 在調用後會立即運行。在 TensorFlow 1.x 中,您可能會先構圖,然後通過 「tf.Session.run()」 執行圖的各個部分。TensorFlow 2.0 從根本上簡化了 TensorFlow 的使用 — 同樣出色的 op,現在卻更易理解和使用。

TensorFlow 2.0 使用 Keras 作為開發者的核心體驗。在 2.0 中,您可以如常使用 Keras,利用 Sequential API 構建模型,然後使用 「compile」 和 「fit」。tensorflow.org 中所有這些熟悉的 「tf.keras」 示例均可在 2.0 中實現 「開箱即用」。

Keras 的 「fit()」 適用於很多情況,但是,需要更高靈活性的開發者現在可以有更多選擇。我們來看一下 此示例 中以 TensorFlow 2.0 風格編寫的自定義訓練循環:

註:此示例 鏈接

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

此示例採用 Autograd 風格的 GradientTape,並通過優化器手動應用您的梯度。在編寫具有複雜內部運作的自定義訓練循環(譬如在強化學習中)或進行研究(輕鬆幫您落實提高優化器效率的新想法)時,這特別有幫助。

「Eager execution」 還有助於調試和監控運行中的代碼,您可以使用 Python 調試程序檢查變數、層及梯度等對象。在訓練循環中,我們使用 「if」、「for」 和 「print()」 等 Python 語句。

一旦代碼運行正常,您便會想要獲得圖表優化和效率。為此,您可以利用裝飾器 「@tf.function」 封裝 「train」。「tf.function」 中內置 Autograph,因此您無需任何特殊操作便可獲取以用圖表效率運行的 「if」 或 「for」 子句。

這段代碼並不會受注釋影響,但我們會將其編譯到可在 GPU、TPU 上輕鬆運行的圖表中,或將其保存至 「SavedModel」 留待後用。

針對這對代碼,尤為有趣之處在於,通過在 「@tf.function」 中封裝 「train()」,「train_one_step()」、「compute_loss()」 和 「compute_accuracy()」 也會自動進行轉換。您也可選擇在 「@tf.function」 中僅封裝部分運算,從而獲得所需行為。

此外,TensorFlow 2.0 完全支持 Estimator。請參閱新教程,了解提升樹和模型理解的相關內容。

註:教程 鏈接

https://github.com/tensorflow/docs/tree/master/site/en/r2/tutorials/estimators

(本文為AI科技大本營轉載文章,轉載請聯繫原作者)

公開課推薦

今晚8點

拯救老電影!愛奇藝資深演算法工程師蔣紫東老師今晚8點為大家講解視頻/圖像增強技術。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI科技大本營 的精彩文章:

暴雪遊戲遭遇AI「實力」坑隊友:四處遊走,還不參與戰鬥
拿下中科大的計算機課程全靠它了!

TAG:AI科技大本營 |