Couches de pooling (GlobalMaxPooling2D)
Fonctions :
-
GlobalMaxPooling2D()
GlobalMaxPooling2D est une couche qui calcule la valeur maximale globale de chaque carte de caractéristiques 2D (canal) sur toute sa hauteur et sa largeur. Elle réduit chaque carte 2D en un seul nombre représentant le maximum, ce qui permet de compresser fortement la représentation tout en conservant les caractéristiques les plus saillantes. Cette couche est souvent utilisée en fin de réseau convolutionnel avant la classification.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, GlobalMaxPooling2D, 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, GlobalMaxPooling2D, Dense import numpy as np # Données simulées : 15 images 28x28 avec 1 canal (niveau de gris) X = np.random.rand(15, 28, 28, 1) y = np.random.randint(0, 5, size=(15,)) # Modèle simple avec GlobalMaxPooling2D model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1))) model.add(GlobalMaxPooling2D()) model.add(Dense(5, 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`, `GlobalMaxPooling2D` et `Dense`.Création des données
Les données simulées représentent 15 images en niveaux de gris (1 canal) de taille 28×28 pixels. Les labels sont des classes entières pour une classification à 5 catégories.Définition du modèle
La couche `Conv2D` extrait des caractéristiques locales sur les images. Ensuite, `GlobalMaxPooling2D` sélectionne la valeur maximale dans chaque carte de caractéristiques 2D, produisant un vecteur plat. Enfin, une couche dense réalise la classification.Compilation
Le modèle est compilé pour un problème de classification multi-classes avec l’optimiseur Adam.