Couches de sous-échantillonnage (pooling) Keras
Keras met en œuvre l'opération de sous-échantillonnage (pooling) sous forme de couche que vous pouvez insérer dans un CNN entre d'autres couches. Dans cet exercice, vous allez construire un réseau de neurones convolutionnel semblable à celui que vous avez déjà créé :
Convolution => Convolution => Flatten => Dense
Toutefois, vous allez aussi ajouter une couche de sous-échantillonnage. L'architecture ajoutera une seule couche de max-pooling entre la couche de convolution et la couche dense, avec un fenêtrage de 2x2 :
Convolution => Max pooling => Convolution => Flatten => Dense
Un model Sequential ainsi que des objets Dense, Conv2D, Flatten et MaxPool2D sont disponibles dans votre espace de travail.
Cette activité fait partie du cours
Modélisation d'images avec Keras
Instructions de l’exercice
- Ajoutez une couche de convolution d'entrée (15 unités, taille de noyau de 2, activation
relu). - Ajoutez une opération de max-pooling (sous-échantillonnage sur des fenêtres de taille 2x2).
- Ajoutez une autre couche de convolution (5 unités, taille de noyau de 2, activation
relu). - Aplatissez la sortie de la deuxième convolution et ajoutez une couche
Densepour la sortie (3 catégories, activationsoftmax).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()