Keras 池化层
Keras 将池化操作实现为一种层,可以插入到 CNN 的各层之间。在本练习中,您将构建一个与之前类似的卷积神经网络:
Convolution => Convolution => Flatten => Dense
不过,这次您还会加入一个池化层。该结构会在卷积层与全连接层之间加入一个 2x2 的最大池化层:
Convolution => Max pooling => Convolution => Flatten => Dense
工作区中已提供一个顺序式 model,以及 Dense、Conv2D、Flatten 和 MaxPool2D 对象。
本练习是课程的一部分
使用 Keras 进行图像建模
练习说明
- 添加一个输入卷积层(15 个单元,卷积核大小为 2,
relu激活)。 - 添加一个最大池化操作(以 2x2 窗口进行池化)。
- 再添加一个卷积层(5 个单元,卷积核大小为 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()