1

我在tensorflow上運行RNN,其中我的輸出是一個非常簡單的2向量數組。 RNN所要做的就是選擇一個值來使1和1變爲0.但是,當我通過RNN運行我的批處理時,我看起來對批處理的每個輸入都會得到相同的輸出。例如:Tensorflow LSTM網絡輸出整個批次的相同值

如果我的實際輸出標籤:

[[ 1. 0.] 
[ 1. 0.] 
[ 0. 1.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 0. 1.] 
[ 0. 1.] 
[ 1. 0.] 
[ 1. 0.] 
[ 0. 1.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.] 
[ 1. 0.]] 

我RNN輸出:

[[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14] 
[ 1.00000000e+00 7.93261263e-14]] 

這顯然是錯誤的。我正在用形狀爲[batch_size, time_steps_features]的張量餵養我的RNN,並且我正在使用tf.nn.dynamic_rnn()來運行RNN。沒有任何我已經嘗試似乎工作。

我一直在抓我的頭髮,任何幫助將不勝感激。

謝謝!

回答

4

看起來你可能不會在新紀元之間重新洗牌樣本。這可能導致(誤差)最小化,達到你不會離開的局部最小值。

儘量不要在每次迭代中以相同的順序提供輸入,並且應該收斂到更明智的東西。

相關問題