TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

去年 11 月,Google Brain 團隊發佈了 Eager Execution,一個由運行定義的新接口,為 TensorFlow 這一最為流行的深度學習框架引入了動態圖機制。Eager 的出現使得開發變得更為直觀,從而讓 TensorFlow 的入門難度大為降低。本文介紹了使用 TensorFlow Eager 構建神經網絡的簡單教程。

項目鏈接:https://github.com/madalinabuzau/tensorflow-eager-tutorials

本文旨在幫助那些希望通過 TensorFlow Eager 模式獲得深度學習實踐經驗的人。TensorFlow Eager 可以讓你像使用 Numpy 那樣輕鬆地構建神經網絡,其巨大優勢是提供了自動微分(無需再手書反向傳播,(*^▽^*)!)。它還可以在 GPU 上運行,使神經網絡訓練速度明顯加快。

谷歌大腦的開發團隊曾表示,Eager Execution 的主要優點如下:

  • 快速調試即刻的運行錯誤並通過 Python 工具進行整合
  • 藉助易於使用的 Python 控制流支持動態模型
  • 為自定義和高階梯度提供強大支持
  • 適用於幾乎所有可用的 TensorFlow 運算

我會努力讓每個人都能理解這份教程,因此我將盡量在無需 GPU 處理的前提下解決問題。

教程中使用的 TensorFlow 版本為 1.7 版。

開始

01. 構建一個簡單的神經網絡——下圖將教你如何在一個合成生成的數據集上用 TensorFlow Eager 模式構建和訓練一個單隱藏層神經網絡。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

02. 在 Eager 模式中使用度量——下圖將教你針對三種不同的機器學習問題(多分類、不平衡數據集和迴歸),如何使用與 Eager 模式兼容的度量。

簡單但實用的知識

03. 保存和恢復訓練好的模型——下圖將教你如何保存訓練好的模型並隨後恢復它以對新數據進行預測。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

04. 將文本數據傳輸到 TFRecords——下圖將教你如何把可變序列長度的文本數據存儲到 TFRecords 中。當使用迭代器讀取數據集時,數據可以在批處理中快速填充。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

05. 將圖像數據傳輸到 TFRecords——下圖將教你如何把圖像數據及其元數據傳輸到 TFRecords 上。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

06. 如何批量讀取 TFRecords 數據——下圖將教你如何從 TFRecords 中批量讀取可變序列長度數據或圖像數據。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

卷積神經網絡(CNN)

07. 構建一個用於情緒識別的 CNN 模型——下圖將教你使用 TensorFlow Eager API 和 FER2013 數據集從零開始構建一個 CNN 模型。在完成以後,你將能使用網絡攝像頭試驗自己構建的神經網絡,這是一個很棒的嘗試!

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

循環神經網絡(RNN)

08. 構建一個序列分類的動態 RNN——學習如何使用可變序列輸入數據。下圖將介紹如何使用 TensorFlow Eager API 和 Stanford Large Movie Review Dataset 來構建動態 RNN。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程

09. 構建一個時序迴歸 RNN——下圖展示瞭如何為時序預測構建一個 RNN 模型。

TensorFlow的動態圖工具Eager怎麼用?這是一篇極簡教程


分享到:


相關文章: