開始使用免費開始

對熟悉的模型做批次正規化

還記得本章第一個練習裡你訓練過的 digits 資料集嗎?

那是一個多類別分類問題,你用 softmax 和輸出層中 10 個神經元來解決。

現在你要建立一個更深的模型:包含 3 個隱藏層,每層各有 50 個神經元,並在各層之間加入批次正規化。 kernel_initializer 參數可用來以類似的方式初始化權重。

本練習屬於課程

Keras 深度學習入門

檢視課程

練習說明

  • tensorflow.keras 的 layers 匯入 BatchNormalization
  • 建立深層網路模型,為每個隱藏層使用 50 個神經元,並在各層之間加入批次正規化。
  • 使用隨機梯度下降 sgd 作為最佳化器來編譯模型。

動手互動練習

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

# Import batch normalization from keras layers
from tensorflow.____.____ import ____

# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))

# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])
編輯並執行程式碼