デフォルトのLSTMのkerasにおける層(および再発性層の他のタイプ)によっては、ステートフルないので、状態は毎回新しいにリセットされます入力はネットワークに供給される。あなたのコードはこのデフォルトバージョンを使用します。必要に応じて、LSTMレイヤー内にstateful=True
を指定してステートフルにすることができます。その後、状態はリセットされません。関連する構文の詳細はhere、this blog postではステートフルモードに関する詳細を参照できます。ここで
がhereから取られ、対応する構文の例を示します。
trainX = numpy.reshape(trainX, (trainX.shape[0], trainX.shape[1], 1))
testX = numpy.reshape(testX, (testX.shape[0], testX.shape[1], 1))
# create and fit the LSTM network
batch_size = 1
model = Sequential()
model.add(LSTM(4, batch_input_shape=(batch_size, look_back, 1), stateful=True))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
for i in range(100):
model.fit(trainX, trainY, epochs=1, batch_size=batch_size, verbose=2, shuffle=False)
model.reset_states()
# make predictions
trainPredict = model.predict(trainX, batch_size=batch_size)
model.reset_states()
testPredict = model.predict(testX, batch_size=batch_size)
はあなたの現在のモデルを追加することはできますか? – DJK