我不确定我是否理解我应该在keras中输入LSTM的输入形状。所以我有以下设置:
self._model = kr.models.Sequential()
self._model.add(kr.layers.LSTM(100, batch_input_shape=input_shape, stateful=True, return_sequences=True))
self._model.add(kr.layers.Dense(4))
input_shape是(4,20,3),其中20是时间步,3是我的特征向量的维数。和4应该是我认为的批量大小。让我们假设我有一个时间序列T,我选择4个随机凝视点P.所以我对网络的输入构造如下:
input = [T[p:p+20] for p in P]
每次train_on_batch调用后,我将P中的每个p增加20,并根据随机变量重置状态。据我所知,输入现在有4个不同的批次,每个批次都有自己独特的状态。这就像用不同的起点训练网络4次。
目标标签包含在不同的时间序列L中,其构造如下:
target_label = [L[p:p+20] for p in P]
我得到一些奇怪的结果,我想确保我得到最初的想法。那么你能帮助我再确保它按照我刚才描述的那样工作,或者告诉我哪里弄错了吗?
由于