Couches de reshaping (Flatten)
Fonctions :
-
Flatten()
La couche Flatten transforme un tenseur multidimensionnel en un vecteur 1D en aplatissant toutes les dimensions sauf la dimension batch. Elle est souvent utilisée avant une couche dense pour préparer les données après des couches convolutionnelles.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Flatten import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut data_format
string Format des données, généralement "channels_last"
ou"channels_first"
. Ce paramètre n’affecte pas la sortie de Flatten, mais peut être utile pour compatibilité.None
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Flatten import numpy as np # Données simulées : batch de 1 image, 2x2 pixels, 3 canaux X = np.array([[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]) # Modèle avec Flatten model = Sequential() model.add(Flatten(input_shape=(2, 2, 3))) # Passage des données dans la couche output = model.predict(X) print(output.shape) # Affiche (1, 12) print(output)
Explication du code :
Importation des bibliothèques
On importe la couche `Flatten` et les modules nécessaires.Création des données
Les données représentent un batch avec une image de taille 2x2 pixels et 3 canaux.Définition du modèle
Le modèle contient uniquement la couche `Flatten` pour transformer la structure 2x2x3 en un vecteur plat.Exécution
Le passage des données produit un vecteur 1D de longueur 12 (2×2×3), aplati pour chaque élément du batch.