開始使用免費開始

打造你自己的手寫數字辨識模型

你來到本課程的最後一個練習——現在你已具備建立能準確辨識手寫數字模型所需的一切!

我們已先替你完成影片中對 MNIST 資料集的基本處理,所以 Xy 已載入且可直接拿來建立模型。來自 tensorflow.kerasSequentialDense 也都已預先匯入。

為了增加一點挑戰,我們只載入了 2500 張影像,而不是某些發表結果中看到的 60000 張。深度學習模型通常在資料越多時表現越好,但訓練時間也會更長,特別是當模型變得更複雜時。

如果你的電腦有支援 CUDA 的 GPU,可以善加利用以縮短運算時間。沒有 GPU 也沒問題!你可以在雲端設定深度學習環境,讓你的模型在 GPU 上執行。這裡有 Dan 撰寫的一篇【部落格文章】說明怎麼做(https://www.datacamp.com/community/tutorials/deep-learning-jupyter-aws)——完成本練習後不妨看看!這會是你持續深度學習之旅的絕佳下一步。

想把你的深度學習功力再往上一層嗎?來看看【Advanced Deep Learning with Keras】(https://www.datacamp.com/courses/advanced-deep-learning-with-keras),了解 Keras 的 functional API 如何讓你運用領域知識來解決全新型態的問題。熟悉 functional API 之後,再看看【Image Processing with Keras in Python】(https://www.datacamp.com/courses/image-processing-with-keras-in-python),學習 Keras 在影像領域的實作應用。

本練習屬於課程

Python 深度學習入門

檢視課程

練習說明

  • 建立一個 Sequential 物件作為模型起點,命名為 model
  • 在模型中加入第一個 Dense 隱藏層,包含 50 個單元,啟用函式為 'relu'。此資料的 input_shape(784,)
  • 再加入第二個 Dense 隱藏層,50 個單元,啟用函式為 'relu'
  • 加入輸出層。啟用函式使用 'softmax',此層的節點數需與可能的輸出數相同:10
  • 編譯 model,和先前一樣使用 'adam' 作為 optimizer'categorical_crossentropy' 作為 loss,並設定 metrics=['accuracy']
  • 使用 Xy 來訓練模型,validation_split 設為 0.3,訓練 10 個 epochs。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create the model: model
model = ____

# Add the first hidden layer
____

# Add the second hidden layer
____

# Add the output layer
____

# Compile the model
____

# Fit the model
____
編輯並執行程式碼