Couches de reshaping (Permute)

Fonctions :

  • Permute()

    La couche Permute réorganise (permute) les dimensions d’un tenseur d’entrée selon un ordre spécifié, excepté la dimension batch qui reste inchangée. Elle est utile pour adapter la disposition des données entre différentes couches.

    Importation :

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

    Attributs :

    Paramètre Type Description Valeur par défaut
    dims tuple ou liste d'entiers Nouvel ordre des dimensions (1-based), hors dimension batch.

    Exemple de code :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Permute
    import numpy as np
    
    # Données simulées : batch de 1 tenseur de forme (2, 3, 4)
    X = np.random.rand(1, 2, 3, 4)
    
    # Modèle avec Permute : on inverse la 2ème et 3ème dimension
    model = Sequential()
    model.add(Permute((1, 3, 2), input_shape=(2, 3, 4)))
    
    # Passage des données dans la couche
    output = model.predict(X)
    print("Shape avant :", X.shape)   # (1, 2, 3, 4)
    print("Shape après :", output.shape)  # (1, 2, 4, 3)

    Explication du code :

    Importation des bibliothèques
    On importe la couche `Permute` ainsi que les modules nécessaires.
    Création des données
    Les données sont un tenseur de forme (2, 3, 4) avec un batch de taille 1.
    Définition du modèle
    La couche `Permute` est ajoutée pour inverser la 2ème et 3ème dimension (ordre (1, 3, 2)).
    Exécution
    Après passage dans la couche, la forme du tenseur est modifiée en (2, 4, 3), les données sont réordonnées sans être modifiées.