CommencezCommencez gratuitement

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

Voir le cours

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 Dense pour la sortie (3 catégories, activation softmax).

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()
Modifier et exécuter le code