CommencerCommencer gratuitement

Observer les convolutions

Inspecter les activations d’une couche convolutionnelle est vraiment instructif. Il faut le faire au moins une fois dans sa vie !

Pour cela, vous allez construire un nouveau modèle avec l’objet Keras Model, qui prend une liste d’entrées et une liste de sorties. Les sorties que vous allez fournir à ce nouveau modèle sont celles de la première couche convolutionnelle lorsqu’on lui donne en entrée une image de chiffre MNIST.

Le model convolutionnel que vous avez construit dans l’exercice précédent a déjà été entraîné pour vous. Il sait désormais classer correctement les images manuscrites MNIST. Vous pouvez le vérifier avec model.summary() dans la console.

Observons maintenant les masques convolutionnels appris dans la première couche convolutionnelle de ce modèle !

Cet exercice fait partie du cours

Introduction au Deep Learning avec Keras

Afficher le cours

Instructions

  • Récupérez une référence vers les sorties de la première couche convolutionnelle du modèle.
  • Construisez un nouveau modèle en utilisant l’entrée de la première couche du modèle et first_layer_output comme sorties.
  • Utilisez ce first_layer_model pour prédire sur X_test.
  • Tracez les activations du premier chiffre de X_test pour les filtres de neurones 15e et 18e.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Obtain a reference to the outputs of the first layer
first_layer_output = model.layers[____].output

# Build a model using the model's input and the first layer output
first_layer_model = Model(inputs = model.layers[0].input, outputs = ____)

# Use this model to predict on X_test
activations = ____.____(____)

# Plot the activations of first digit of X_test for the 15th filter
axs[0].matshow(activations[____,:,:,14], cmap = 'viridis')

# Do the same but for the 18th filter now
axs[1].matshow(activations[0,:,:,____], cmap = 'viridis')
plt.show()
Modifier et exécuter le code