Arj*_*jun 6 python lstm keras tensorflow
我在过去的一天中了解了LSTM's ,然后我决定查看一个用于Keras创建它的教程。我看了几个教程,它们都有一个衍生的
model = Sequential()
model.add(LSTM(10, input_shape=(1,1)))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer='adam')
X,y = get_train()
model.fit(X, y, epochs=300, shuffle=False, verbose=0)
Run Code Online (Sandbox Code Playgroud)
然后他们预测使用
model.predict(X, verbose=0)
Run Code Online (Sandbox Code Playgroud)
我的问题是:您是否必须给出先前的预测以及输入和细胞状态才能使用 LSTM 预测下一个结果?另外,10 代表什么model.add(LSTM(10, input_shape(1,1))?
Ken*_*via -1
你的第一个问题:
您是否必须给出先前的预测以及输入和单元状态才能使用 LSTM 预测下一个结果?
不,你不必这样做。据我了解,它存储在 LSTM 单元中,这就是 LSTM 使用如此多 RAM 的原因
如果您的数据形状如下所示:
(100,1000)
Run Code Online (Sandbox Code Playgroud)
如果将其插入到 fit 函数中,每个时期将在 100 个列表上运行。当 LSTM 移动到下一个列表时,它会在刷新之前记住 1000 个数据图。
第二:
另外,model.add(LSTM(10, input_shape(1,1)) 中的 10 代表什么?
它是输入后第一层的形状,因此您的模型当前的形状为:
1,1
10
1
希望能帮助到你 :)