ケラスを使用してステートフルLSTMを正常に訓練することができました。私のバッチサイズは60であると私はネットワークに送信していますすべての入力には、以下のBATCH_SIZE で割り切れる私の抜粋です:正常に実行ステートフルLSTMが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")
マイトレーニングライン:今すぐ
model.fit(trainx[:3000,:],trainy[:3000],validation_split=0.1,shuffle=False,nb_epoch=9,batch_size=60)
私は予測してみてください再び60で割ることができますが、エラーが発生します。
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.
誰かが私に何か間違っていると教えてもらえますか?私は混乱して、とても多くのことを試しましたが、何も助けません。
おかげで、私はそれが訓練されたバッチサイズを覚えておくことがモデルにとって明らかになると思いました – Harshit