Couches de reshaping (Permute)
Les couches Permute sont utilisées dans les réseaux de neurones pour réorganiser l’ordre des dimensions d’un tenseur d’entrée. L’objectif est d’adapter la structure des données aux exigences des couches suivantes du réseau.
Le principe consiste à permuter les axes d’un tenseur selon un ordre spécifié, sans modifier les valeurs elles-mêmes. Cette opération est utile lorsque certaines couches attendent des données avec un ordre de dimensions particulier, comme dans les réseaux récurrents ou convolutionnels.
Les couches Permute sont utilisées dans les architectures CNN, RNN et les modèles combinant plusieurs types de couches, pour aligner correctement les dimensions avant d’appliquer des convolutions, des récurrentes ou des opérations de pooling.
En résumé, les couches Permute permettent de réorganiser l’ordre des dimensions d’un tenseur, facilitant la compatibilité des données avec les couches suivantes et la flexibilité de l’architecture du réseau.
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 npAttributs :
Paramètre Type Description Valeur par défaut dimstuple 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.