Keras 池化層
Keras 將池化運算實作為一個可插入 CNN 的層,放在其他層之間。這題你會建立一個與之前相似的卷積神經網路:
Convolution => Convolution => Flatten => Dense
不過,這次你也要加入池化層。網路架構會在卷積層與全連接層之間加入一個 2x2 的最大池化層:
Convolution => Max pooling => Convolution => Flatten => Dense
工作環境中已提供 Sequential model,以及 Dense、Conv2D、Flatten 和 MaxPool2D 物件。
本練習屬於課程
使用 Keras 進行影像建模
練習說明
- 加入一個輸入卷積層(15 個單元,kernel size 為 2,
relu啟動函式)。 - 加入一個最大池化運算(以 2x2 視窗進行池化)。
- 再加入一個卷積層(5 個單元,kernel size 為 2,
relu啟動函式)。 - 將第二個卷積層的輸出展平,並加入輸出用的
Dense層(3 個類別,softmax啟動函式)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Add a convolutional layer
____(____(15, kernel_size=2, activation='relu',
input_shape=(img_rows, img_cols, 1)))
# Add a pooling operation
____
# Add another convolutional layer
____
# Flatten and feed to output layer
model.add(____)
model.add(____(3, activation='softmax'))
model.summary()