Couches de convolution (Conv1D)
Fonctions :
-
Conv1D()
La couche Conv1D effectue une convolution 1D, souvent utilisée pour traiter des données séquentielles (comme des séries temporelles ou des séquences de texte encodées). Elle applique un filtre (ou noyau) qui glisse le long d’un axe spatial unique (typiquement le temps ou la position).
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, Flatten, Dense import numpy as npAttributs :
Paramètre Type Description Valeur par défaut filtersint Nombre de filtres de sortie (dimensions de sortie). Obligatoire kernel_sizeint Taille du noyau de convolution. Obligatoire stridesint Longueur du pas de la convolution. 1paddingstr 'valid'(sans remplissage) ou'same'(avec remplissage pour garder la taille).'valid'activationstr ou fonction Fonction d'activation appliquée à la sortie. Noneinput_shapetuple Taille des entrées attendues (sauf batch size), typiquement (longueur_sequence, nb_features).Doit être défini dans la première couche Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, Flatten, Dense import numpy as np # Données fictives : 100 échantillons, séquences de 10 pas, 1 caractéristique par pas X = np.random.rand(100, 10, 1) y = np.random.randint(0, 2, size=(100,)) model = Sequential() model.add(Conv1D(filters=32, kernel_size=3, activation='relu', 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
La bibliothèque Keras est utilisée pour créer un modèle séquentiel contenant une couche de convolution 1D. NumPy permet de générer des données d'exemple.Création des données
Les données d'entrée simulées représentent 100 séquences, chacune composée de 10 pas de temps et d'une seule caractéristique. Les étiquettes associées sont binaires.Définition du modèle
Le modèle est constitué d’une couche `Conv1D` qui applique 32 filtres sur les séquences avec une taille de noyau de 3. La sortie est ensuite aplatie pour être transmise à une couche dense finale avec activation sigmoïde pour la classification binaire.Compilation et résumé
Le modèle est compilé avec l’optimiseur Adam et la fonction de perte binaire. Le résumé permet de visualiser la structure du modèle.