Couches de reshaping (TimeDistributed)
Fonctions :
-
TimeDistributed()
La couche TimeDistributed applique une couche spécifique de manière indépendante à chaque pas de temps d’une séquence d’entrée. Elle est utilisée pour traiter séquentiellement chaque élément d’une séquence, comme appliquer une couche Dense ou Conv2D sur chaque frame d’une séquence vidéo.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import TimeDistributed, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut layer
Layer Couche à appliquer indépendamment à chaque pas de temps. — Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import TimeDistributed, Dense import numpy as np # Données simulées : batch de 2 séquences, chacune de longueur 3, vecteurs de taille 4 X = np.random.rand(2, 3, 4) # Modèle avec TimeDistributed appliquant une couche Dense à chaque pas de temps model = Sequential() model.add(TimeDistributed(Dense(5), input_shape=(3, 4))) # Passage des données dans la couche output = model.predict(X) print("Shape avant :", X.shape) # (2, 3, 4) print("Shape après :", output.shape) # (2, 3, 5)
Explication du code :
Importation des bibliothèques
On importe la couche `TimeDistributed`, la couche `Dense` ainsi que les modules nécessaires.Création des données
Les données sont un batch de 2 séquences, chaque séquence contient 3 vecteurs de taille 4.Définition du modèle
La couche `TimeDistributed` applique une couche Dense de sortie 5 à chaque vecteur de la séquence indépendamment.Exécution
Le tenseur passe d’une forme (2, 3, 4) à (2, 3, 5), la couche Dense étant appliquée à chaque pas de temps.