Couches de convolution (Conv2D)
Fonctions :
-
Conv2D()
Conv2D est une couche de convolution utilisée pour traiter des données d’entrée en 2D, telles que des images. Elle extrait automatiquement des caractéristiques visuelles (textures, bords, motifs) en appliquant des filtres convolutifs.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, Flatten, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut filters
int Nombre de filtres de convolution (profondeur de sortie). Obligatoire kernel_size
int ou tuple Taille du noyau de convolution (hauteur, largeur). Obligatoire strides
int ou tuple Pas de déplacement du noyau sur l’image. (1, 1)
padding
str 'valid'
(sans remplissage) ou'same'
(avec remplissage pour conserver la taille).'valid'
activation
str ou fonction Fonction d’activation appliquée à la sortie. None
input_shape
tuple Forme des données d’entrée (hauteur, largeur, canaux). Doit être défini dans la première couche Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, Flatten, Dense import numpy as np # Données simulées : 100 images de 28x28 pixels avec 1 canal (niveaux de gris) X = np.random.rand(100, 28, 28, 1) y = np.random.randint(0, 2, size=(100,)) # Création d’un modèle avec une couche Conv2D model = Sequential() model.add(Conv2D(filters=16, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 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 de réseau de neurones convolutifs. NumPy sert à générer des images simulées.Création des données
On génère 100 images de 28×28 pixels avec un seul canal (images en niveaux de gris). Les étiquettes associées sont binaires (classification à 2 classes).Définition du modèle
La couche `Conv2D` applique 16 filtres 3×3 aux images d’entrée. L’activation ReLU est utilisée pour introduire de la non-linéarité. Ensuite, la sortie est aplanie avec `Flatten` puis transmise à une couche dense avec activation sigmoïde.Compilation et résumé
Le modèle est compilé avec l’optimiseur Adam, une fonction de perte adaptée à la classification binaire, et affiche sa structure avec `summary()`.