【发布时间】:2018-03-14 00:53:17
【问题描述】:
我想详细说明何时重置状态的问题。
Stateful LSTM: When to reset states?
假设我这样训练一个有状态模型:
for i in range(epochs):
model.fit(X_train, y_train, epochs=1, batch_size=1, shuffle=False)
model.reset_states()
我的训练集和测试集来自一个时间序列数据集,测试集紧跟在训练集之后。
接下来,我想评估测试集并获得预测数组。
score = model.evaluate(X_test, y_test, batch_size=1, verbose=True)
prediction = model.predict(X_test, batch_size=1)
我觉得在训练循环结束时重置模型状态会导致评估或预测步骤出错,至少在集合开始时是这样。是这样吗?如果数据继续按顺序进入测试集,我是否应该重置最后一个 epoch 的状态?
另外,在我对测试集进行评估之后,我是否需要在尝试预测之前将模型的状态恢复到训练集结束时的状态?我应该复制模型吗?保存并重新加载它?
【问题讨论】:
标签: machine-learning deep-learning keras lstm stateful