НачатьНачать бесплатно

Слои пулинга в 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()
Редактировать и запускать код