繁体   English   中英

keras lstm差异无状态和有状态

[英]keras lstm difference stateless and stateful

我试图了解Keras中LSTM层的概念。 我只想确认LSTM的某些行为,并检查我是否正确理解它。

假设我有1000个样本,并且这个样本具有1个时间步长,而当

stateful = True

这是否与1个具有1000个时间步长的样本和1个批次大小的样本相同

stateful = False

在这里,我还假设在两种情况下,我都具有相同的信息,只是形状不同,并且在每个训练时期之后都会重置LSTM层的状态。

我还认为无状态情况下的批次大小仅对我的训练顺序很重要,因为如果我设置

stateful = False 

我可以使用input_shape而不是batch_input_shape。 因此,我的LSTM层只需要时间步和要素维就不需要批处理维。 这个对吗?

我的结论是:

https://github.com/keras-team/keras/blob/master/keras/layers/recurrent.py#L1847

keras何时重置LSTM状态?

了解Keras LSTM

如果第一层LSTM是有状态的,如果我有多层LSTM网络,那么所有其他层也应该是有状态的,对吗?

我希望有人能理解我的意思并能为我提供帮助。 如果我的问题无法理解,请告诉我,我将更新此帖子。

谢谢大家。

stateful=True表示您保留每个批次的最终状态,并将其作为下一个批次的初始状态传递。 所以是的,在这种情况下,如果您有1个批次的1000个样本或1000个批次的1个样本,则是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM