Слои пулинга в Keras
В Keras операция пулинга реализована в виде слоя, который можно добавлять в свёрточные нейронные сети между другими слоями. В этом упражнении вы построите свёрточную нейронную сеть, похожую на ту, что создавали ранее:
Свёрточный слой => Свёрточный слой => Выравнивание => Полносвязный слой
Однако на этот раз вы также добавите слой пулинга. Архитектура будет включать один слой максимального пулинга между свёрточным и полносвязным слоями с размером окна 2x2:
Свёрточный слой => Максимальный пулинг => Свёрточный слой => Выравнивание => Полносвязный слой
В рабочей области уже доступны: последовательная модель 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()