Couches de pooling (MaxPooling2D)
Fonctions :
-
MaxPooling2D()
MaxPooling2D est une couche de réduction de dimension qui applique une opération de max pooling sur une fenêtre 2D glissante. Elle est principalement utilisée après des couches convolutionnelles 2D pour réduire la hauteur et la largeur des images tout en conservant les caractéristiques les plus saillantes.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut pool_size
int ou tuple Taille de la fenêtre de pooling (hauteur, largeur). (2, 2)
strides
int ou tuple Pas de déplacement de la fenêtre de pooling. None
(équivalent àpool_size
)padding
str 'valid'
(sans remplissage) ou'same'
(conserve la taille).'valid'
data_format
str 'channels_last'
(hauteur, largeur, canaux) ou'channels_first'
(canaux, hauteur, largeur).'channels_last'
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense import numpy as np # Données simulées : 100 images 28x28 en niveaux de gris (1 canal) X = np.random.rand(100, 28, 28, 1) y = np.random.randint(0, 10, size=(100,)) # Modèle simple avec MaxPooling2D model = Sequential() model.add(Conv2D(filters=32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1))) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Flatten()) model.add(Dense(10, activation='softmax')) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.summary()
Explication du code :
Importation des bibliothèques
On importe les couches nécessaires depuis TensorFlow Keras : `Conv2D`, `MaxPooling2D`, `Flatten`, et `Dense`.Création des données
Les données simulées sont 100 images en niveaux de gris de taille 28×28 avec 1 canal. Les labels correspondent à 10 classes différentes.Définition du modèle
La couche `Conv2D` extrait des caractéristiques spatiales des images, suivie d’une couche `MaxPooling2D` qui réduit la hauteur et la largeur en prenant la valeur maximale dans chaque fenêtre 2×2. `Flatten` transforme les sorties 2D en vecteur pour la couche finale dense.Compilation
Le modèle est compilé pour un problème de classification multi-classes avec l’optimiseur Adam.