我正在对一个由不同来源组成的大型数据集进行RNN训练。我不想让一个数据集的历史影响到下一个数据集。这意味着我想在发送下一个数据集之前重置隐藏状态。如何使用Keras实现这一点?文档声称可以进入低级配置。
我的目标是每当喂入新的数据集时重置lstm隐藏状态,以便不会传递先前数据集的影响。请参见该行代码。
我的目标是每当喂入新的数据集时重置lstm隐藏状态,以便不会传递先前数据集的影响。请参见该行代码。
prevh = Hout[t-1] if t > 0 else h0
从Karpathy的简单Python实现中
https://gist.github.com/karpathy/587454dc0146a6ae21fc第45行
如果我找到LSTM层并对其进行重置,我担心这将清除所有权重和偏差的训练,而不仅仅是Hout。
以下是训练循环代码:
for iteration in range(1, 10):
for key in X_dict:
X = X_dict[key]
y = y_dict[key]
history=model.fit(X, y, batch_size=batch_size, callbacks=cbks, nb_epoch=1,verbose=0)
每一次循环都会从一个市场输入数据。这就是我喜欢在LSTM中重置小时的地方。