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.