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.