【发布时间】:2016-09-16 22:13:32
【问题描述】:
我面临一个非常奇怪的问题,我正在使用 tensorflow 构建 RNN 模型,然后在完成训练后使用 tf.Saver 存储模型变量(全部)。
在测试期间,我只是再次构建推理部分并将变量恢复到图形中。恢复部分没有报错。
但是当我开始对评估测试进行测试时,我总是从推理中得到相同的输出,即对于所有测试输入,我得到相同的输出。
我在训练期间打印了输出,我确实看到不同训练样本的输出不同,成本也在下降。 但是当我进行测试时,无论输入是什么,它总是给我相同的输出。
有人可以帮助我理解为什么会发生这种情况吗?我想发布一些最小的示例,但由于我没有收到任何错误,我不确定我应该在这里发布什么。如果可以帮助解决问题,我将很乐意分享更多信息。
我在训练和测试期间的推理图之间的一个区别是 RNN 中的时间步数。在训练期间,我在更新梯度之前为一批训练 n 步(n = 20 或更多),而对于测试,我只使用一个步骤,因为我只想预测该输入。
谢谢
【问题讨论】:
标签: tensorflow recurrent-neural-network