Tensorflow - 任何输入都会给我相同的输出

问题描述 投票:0回答:2

我面临一个非常奇怪的问题,我使用张量流构建 RNN 模型,然后在完成训练后使用 tf.Saver 存储模型变量(全部)。

在测试过程中,我只是再次构建推理部分并将变量恢复到图表中。修复部分没有给出任何错误。

但是当我开始测试评估测试时,我总是从推理中得到相同的输出,即对于所有测试输入,我得到相同的输出。

我在训练期间打印了输出,我确实看到不同训练样本的输出是不同的,并且成本也在下降。 但是当我进行测试时,无论输入是什么,它总是给出相同的输出。

有人可以帮助我理解为什么会发生这种情况吗?我想发布一些最小的示例,但由于我没有收到任何错误,所以我不确定应该在这里发布什么。如果可以帮助解决问题,我将很乐意分享更多信息。

训练和测试期间的推理图之间的一个区别是 RNN 中的时间步数。在训练期间,我在更新梯度之前训练一批的 n 个步骤(n = 20 或更多),而在测试过程中,我只使用一个步骤,因为我只想预测该输入。

tensorflow machine-learning recurrent-neural-network
2个回答
2
投票

我已经能够解决这个问题。这似乎是因为我的输入特征之一在其原始值中占据主导地位,因此在一些操作之后所有值都收敛为单个数字。 扩展该功能有助于解决这个问题。


-1
投票

您可以创建一个可重现的小案例并将其作为错误发布到 https://github.com/tensorflow/tensorflow/issues 吗?这将有助于这个问题得到合适的人的关注。

© www.soinside.com 2019 - 2024. All rights reserved.