2016-09-16 54 views
2

我正面臨着一個非常奇怪的問題,我正在使用tensorflow構建RNN模型,然後在完成訓練後使用tf.Saver存儲模型變量(全部)。Tensorflow - 任何輸入都會給出相同的輸出

在測試過程中,我只是再次構建推理部分並將變量恢復到圖形。恢復部分不會給出任何錯誤。

但是當我開始測試評估測試時,我總是從推理得到相同的輸出,即對於所有測試輸入,我得到相同的輸出。

我在訓練過程中輸出了輸出,我確實看到不同的訓練樣本的輸出不同,成本也在下降。 但是當我進行測試時,無論輸入是什麼,總會給出相同的輸出。

有人可以幫助我理解爲什麼會發生這種情況嗎?我想發佈一些最小的例子,但由於我沒有收到任何錯誤,我不知道我應該在這裏發佈什麼。如果能夠幫助解決問題,我會很樂意分享更多信息。

我在訓練和測試期間推理圖之間存在的一個區別是RNN中的時間步數。在訓練過程中,爲了測試,在更新梯度之前,我會訓練n個步驟(n = 20或更多),以便進行測試。我只使用一個步驟,因爲我只想預測該輸入。

感謝

回答

2

我已經能夠解決此問題。這似乎正在發生,因爲我的輸入特徵之一是其原始值非常佔優勢,因爲在某些操作之後,所有的值都收斂到單一數值。 縮放該功能有助於解決此問題。

謝謝

+0

嗨,我有同樣的問題,不同的輸入收斂在相同的輸出。我不知道爲什麼。你能告訴我縮放比例嗎? –

相關問題