Couches de pooling (GlobalAveragePooling2D)
Fonctions :
-
GlobalAveragePooling2D()
GlobalAveragePooling2D est une couche qui calcule la moyenne globale de chaque carte de caractéristiques 2D (canal) sur toute sa hauteur et sa largeur. Elle réduit chaque carte de caractéristiques 2D en un seul nombre, ce qui diminue drastiquement la dimension tout en conservant une représentation synthétique des caractéristiques extraites. Cette couche est souvent utilisée en fin de réseau convolutionnel pour passer d’une carte de caractéristiques 2D à un vecteur 1D.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, GlobalAveragePooling2D, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut data_format
str Format des données : 'channels_last'
(hauteur, largeur, canaux) ou'channels_first'
(canaux, hauteur, largeur).'channels_last'
keepdims
bool Si True
, conserve les dimensions réduites avec une taille 1.False
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, GlobalAveragePooling2D, Dense import numpy as np # Données simulées : 20 images 32x32 avec 3 canaux (RGB) X = np.random.rand(20, 32, 32, 3) y = np.random.randint(0, 10, size=(20,)) # Modèle simple avec GlobalAveragePooling2D model = Sequential() model.add(Conv2D(16, (3, 3), activation='relu', input_shape=(32, 32, 3))) model.add(GlobalAveragePooling2D()) 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 de TensorFlow Keras : `Conv2D`, `GlobalAveragePooling2D` et `Dense`.Création des données
Les données simulées sont 20 images RGB de taille 32×32 pixels. Les labels sont des classes entières pour une classification à 10 catégories.Définition du modèle
La couche `Conv2D` extrait des caractéristiques locales sur les images. Ensuite, `GlobalAveragePooling2D` calcule la moyenne sur chaque carte de caractéristiques 2D pour produire un vecteur plat. Enfin, la couche dense effectue la classification.Compilation
Le modèle est compilé pour un problème de classification multi-classes avec l’optimiseur Adam.