Keras 当return_state和return_序列为false时,lstm返回什么
这是我的密码Keras 当return_state和return_序列为false时,lstm返回什么,keras,lstm,Keras,Lstm,这是我的密码 from keras.layers import LSTM, Input from keras.models import Model x = Input(shape=(3,2)) lstm1 = LSTM(units=1, return_sequences=True, return_state=True) lstm2 = LSTM(units=1, return_sequences=False, return_state=False) out,h,c = lstm1(x) out
from keras.layers import LSTM, Input
from keras.models import Model
x = Input(shape=(3,2))
lstm1 = LSTM(units=1, return_sequences=True, return_state=True)
lstm2 = LSTM(units=1, return_sequences=False, return_state=False)
out,h,c = lstm1(x)
out = lstm2(out, initial_state=[h,c])
model = Model(inputs=x, outputs=out)
因为return\u状态
和return\u序列
都是False
。但是,下面的代码仍然返回一些内容。我想知道那是什么
import numpy as np
y=np.array([[3,1],[2,1],
[1,2]]).reshape((1,3,2))
z=model.predict(y)
print(z)
输出:
[[-0.01467976]]
从
返回序列:布尔值。是否返回中的最后一个输出
输出序列,或完整序列
设置return\u sequences=False
将返回最后一次LSTM序列展开的状态,在您的情况下,其大小为1
更改units=10
,您将看到它将返回一个大小为10的数组
图形表示法
- 如果
则返回向量return\u sequences=True
y1、y2、…yn
- 如果
则只返回向量return\u sequences=False
yn