Couches de reshaping (Reshape)

Fonctions :

  • Reshape()

    La couche Reshape permet de modifier la forme (shape) d’un tenseur sans changer ses données, en réarrangeant les dimensions. Elle est utilisée pour adapter la sortie d’une couche à l’entrée d’une autre, par exemple pour passer d’un vecteur plat à une forme multidimensionnelle.

    Importation :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Reshape
    import numpy as np

    Attributs :

    Paramètre Type Description Valeur par défaut
    target_shape tuple Nouvelle forme désirée du tenseur, sans la dimension batch.
    input_shape tuple Forme de l’entrée (excluant la dimension batch), souvent utilisée pour la première couche d’un modèle.

    Exemple de code :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Reshape
    import numpy as np
    
    # Données simulées : batch de 1 vecteur plat de taille 12
    X = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]])
    
    # Modèle avec Reshape
    model = Sequential()
    model.add(Reshape((3, 2, 2), input_shape=(12,)))
    
    # Passage des données dans la couche
    output = model.predict(X)
    print(output.shape)  # Affiche (1, 3, 2, 2)
    print(output)

    Explication du code :

    Importation des bibliothèques
    On importe la couche `Reshape` et les modules nécessaires.
    Création des données
    Les données représentent un batch contenant un vecteur plat de taille 12.
    Définition du modèle
    Le modèle contient la couche `Reshape` qui transforme le vecteur plat en un tenseur 3D de forme (3, 2, 2).
    Exécution
    Le passage des données produit un tenseur reshaped sans modifier les valeurs, seulement la forme.