我不确定我是否了解Keras版本的LSTM是如何工作的。 假设我有len = 20的向量作为输入,并且指定了keras.layers.LSTM(units = 10) 因此,在此示例中,网络是在处理了50%的输入后完成还是从开始开始处理其余部分(我的意思是从第一个单元格开始)?
答案 0 :(得分:1)
单位永远与输入大小无关。
单位仅与输出大小(units = output features or channels
)相关。
LSTM层将始终处理整个数据,并可以选择返回“相同长度(所有步骤)”或“无长度(仅最后一步)”。
在形状方面
您必须具有形状为(batch, len=20, input_features)
的输入张量。
它将输出:
return_sequences=False
:(batch, output_features=10)
-无长度return_sequences=True
:(batch, len=20, output_features=10)
-长度相同输出要素始终等于units
。
在这里查看LSTM层的完整理解:Understanding Keras LSTMs