Couches de pooling (AveragePooling1D)
Fonctions :
-
AveragePooling1D()
AveragePooling1D est une couche qui applique un pooling moyen sur une fenêtre glissante 1D. Elle est utilisée principalement pour réduire la dimension des séquences en calculant la moyenne des valeurs dans chaque fenêtre, ce qui permet de lisser les données tout en réduisant leur taille.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import AveragePooling1D, Flatten, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut pool_size
int Taille de la fenêtre de pooling. 2
strides
int 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'
(longueur, canaux) ou'channels_first'
(canaux, longueur).'channels_last'
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import AveragePooling1D, Flatten, Dense import numpy as np # Données simulées : 30 séquences de longueur 10 avec 1 canal X = np.random.rand(30, 10, 1) y = np.random.randint(0, 2, size=(30,)) # Modèle simple avec AveragePooling1D model = Sequential() model.add(AveragePooling1D(pool_size=2, input_shape=(10, 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 `AveragePooling1D`, `Flatten`, et `Dense` depuis TensorFlow Keras.Création des données
Les données simulées sont 30 séquences 1D de longueur 10 avec un seul canal. Les labels sont binaires.Définition du modèle
La couche `AveragePooling1D` réduit la longueur des séquences en calculant la moyenne sur des fenêtres de taille 2. Ensuite, `Flatten` convertit la sortie en vecteur pour la couche dense finale.Compilation
Le modèle est compilé pour un problème de classification binaire avec l’optimiseur Adam.