I lu LSTM-autoencoder dans ce tutoriel: https://blog.keras.io/building-autoencoders-in-keras.html, et coller la mise en oeuvre de keras correspondant ci-dessous:Comment appliquer LSTM-autoencoder à des données de séries temporelles de longueur variable?
from keras.layers import Input, LSTM, RepeatVector
from keras.models import Model
inputs = Input(shape=(timesteps, input_dim))
encoded = LSTM(latent_dim)(inputs)
decoded = RepeatVector(timesteps)(encoded)
decoded = LSTM(input_dim, return_sequences=True)(decoded)
sequence_autoencoder = Model(inputs, decoded)
encoder = Model(inputs, encoded)
Dans cette mise en oeuvre, on fixe l'entrée à être de forme (pas de temps, input_dim), ce qui signifie que la longueur de les données de séries chronologiques sont fixées à timesteps
. Si je me souviens bien RNN/LSTM peut gérer des données de séries temporelles de longueurs variables et je me demande s'il est possible de modifier le code ci-dessus pour accepter des données de n'importe quelle longueur?
Merci!
Merci! Avez-vous une idée de la manière de transmettre des données de longueur variable dans l'autoencodeur? J'ai essayé de convertir une liste de tableaux var-length en tableau mais j'ai échoué. J'ai essayé de lui transmettre directement une liste de tableaux var-length, mais j'ai reçu une erreur disant: Erreur lors de la vérification de l'entrée du modèle: la liste des tableaux Numpy que vous transmettez à votre modèle n'est pas la taille attendue. Prévu pour voir 1 tableaux mais à la place eu la liste suivante de 3773 tableaux: [array ([[0.300544, 0.251966], '. – username123
https://stackoverflow.com/questions/46144191/keras-misinterprets-training-data-shape/ 46146146 # 46146146 –
Il est également possible de remplir les tableaux avec des valeurs factices afin qu'ils obtiennent tous la même taille et utilisent le masquage. (Je ne l'ai jamais utilisé, mais vous pouvez utiliser google pour masquer sur keras) –