Couches de pooling (AveragePooling2D)
Fonctions :
-
AveragePooling2D()
AveragePooling2D est une couche de pooling qui applique un pooling moyen sur une fenêtre 2D glissante. Elle est utilisée principalement pour réduire la hauteur et la largeur des images ou des cartes de caractéristiques tout en conservant les informations moyennes dans chaque fenêtre, ce qui permet de lisser les données et réduire la taille des représentations.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import AveragePooling2D, 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 AveragePooling2D, Flatten, Dense import numpy as np # Données simulées : 25 images 28x28 avec 1 canal X = np.random.rand(25, 28, 28, 1) y = np.random.randint(0, 2, size=(25,)) # Modèle simple avec AveragePooling2D model = Sequential() model.add(AveragePooling2D(pool_size=(2, 2), input_shape=(28, 28, 1))) model.add(Flatten()) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) model.summary()
Explication du code :
Importation des bibliothèques
On importe les couches nécessaires de TensorFlow Keras : `AveragePooling2D`, `Flatten` et `Dense`.Création des données
Les données simulées représentent 25 images 2D de taille 28×28 avec un seul canal (comme des images en niveaux de gris). Les étiquettes sont binaires.Définition du modèle
La couche `AveragePooling2D` réduit la hauteur et la largeur des images en calculant la moyenne sur des fenêtres 2×2 glissantes. `Flatten` transforme ensuite la sortie 2D en vecteur pour la couche dense finale.Compilation
Le modèle est compilé pour un problème de classification binaire avec l’optimiseur Adam.