CommencerCommencer gratuitement

Écrivez votre propre opération de mise en commun

Comme nous l'avons vu précédemment, les CNN peuvent comporter de nombreux paramètres. Des couches de regroupement sont souvent ajoutées entre les couches convolutives d'un réseau neuronal afin de résumer leurs sorties de manière condensée et de réduire le nombre de paramètres dans la couche suivante du réseau. Cela peut nous aider si nous souhaitons former le réseau plus rapidement ou si nous ne disposons pas de suffisamment de données pour apprendre un très grand nombre de paramètres.

Une couche de mise en commun peut être décrite comme un type particulier de convolution. Pour chaque fenêtre dans l'entrée, il recherche la valeur maximale de pixel et ne transmet que ce pixel. Dans cet exercice, vous allez écrire votre propre opération de max pooling, en vous basant sur le code que vous avez précédemment utilisé pour écrire une opération de convolution bidimensionnelle.

Cet exercice fait partie du cours

Modélisation d'images avec Keras

Afficher le cours

Instructions

  • Indexez le tableau d'entrée (im) et sélectionnez la fenêtre appropriée.
  • Veuillez identifier la valeur maximale dans cette fenêtre.
  • Veuillez allouer cela à la bonne entrée dans le tableau de sortie (result).

Exercice interactif pratique

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

# Result placeholder
result = np.zeros((im.shape[0]//2, im.shape[1]//2))

# Pooling operation
for ii in range(result.shape[0]):
    for jj in range(result.shape[1]):
        result[ii, jj] = np.max(____)
Modifier et exécuter le code