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.