Je suis en mesure d'entraîner avec succès mon état LSTM en utilisant keras. Ma taille du lot est de 60 et toutes les entrées que je vous envoie dans le réseau est divisible par batch_size Suite est mon extrait:Stateful LSTM ne peut pas prédire en raison de problème batch_size
model = Sequential()
model.add(LSTM(80,input_shape = trainx.shape[1:],batch_input_shape=(60,
trainx.shape[1], trainx.shape[2]),stateful=True,return_sequences=True))
model.add(Dropout(0.15))
model.add(LSTM(40,return_sequences=False))
model.add(Dense(40))
model.add(Dropout(0.3))
model.add(Dense(output_dim=1))
model.add(Activation("linear"))
keras.optimizers.RMSprop(lr=0.005, rho=0.9, epsilon=1e-08, decay=0.0)
model.compile(loss="mse", optimizer="rmsprop")
Ma ligne de formation qui se déroule avec succès:
model.fit(trainx[:3000,:],trainy[:3000],validation_split=0.1,shuffle=False,nb_epoch=9,batch_size=60)
Maintenant, j'essaie de prédire sur l'ensemble de test qui est encore divisible par 60, mais je reçois erreur:
ValueError: In a stateful network, you should only pass inputs with a number of samples that can be divided by the batch size. Found: 240 samples. Batch size: 32.
Quelqu'un peut-il me dire ce qui ne va pas au-dessus? Je suis confus, j'ai essayé tant de choses mais rien n'y fait.
Merci, je pense qu'il sera évident pour le modèle de se souvenir de la taille du lot, il a été formé sur – Harshit