Couches de pooling (MaxPooling1D)
Fonctions :
-
MaxPooling1D()
MaxPooling1D est une couche de réduction de dimension qui extrait la valeur maximale sur une fenêtre glissante unidimensionnelle. Elle est souvent utilisée après une couche de convolution 1D pour réduire la taille des données tout en conservant les informations les plus importantes.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, MaxPooling1D, 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 longueur).'valid'
data_format
str 'channels_last'
(par défaut) ou'channels_first'
.'channels_last'
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, MaxPooling1D, Flatten, Dense import numpy as np # Données simulées : 100 séquences de longueur 50 avec 1 feature X = np.random.rand(100, 50, 1) y = np.random.randint(0, 2, size=(100,)) # Modèle simple avec MaxPooling1D model = Sequential() model.add(Conv1D(filters=32, kernel_size=3, activation='relu', input_shape=(50, 1))) model.add(MaxPooling1D(pool_size=2)) 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
Les fonctions nécessaires sont importées depuis TensorFlow Keras : `Conv1D`, `MaxPooling1D`, `Flatten` et `Dense`.Création des données
On simule un ensemble de 100 séquences, chacune de longueur 50 avec 1 seule feature. La sortie est binaire (0 ou 1).Définition du modèle
Une couche `Conv1D` extrait des motifs dans les séquences, suivie d’une couche `MaxPooling1D` qui réduit la longueur des séquences en prenant le maximum sur chaque fenêtre de taille 2. Ensuite, `Flatten` transforme les données en vecteur pour la couche finale `Dense`.Compilation
Le modèle est compilé pour un problème de classification binaire avec l’optimiseur `adam`.