2016-05-09 158 views
3

執行下面的代碼時出現以下錯誤。 rnn.rnn()返回張量列表。錯誤在convert_to_tensor行上。Tensorflow convert_to_tensor TypeError:單張量預期時的張量列表

TypeError: List of Tensors when single Tensor expected

outputs, _states = rnn.rnn(lstm, X_split, initial_state=init_state) 
output_tensor = tf.convert_to_tensor(outputs) 

當我還初始化的D型參數tf.float32

output_tensor = tf.convert_to_tensor(outputs, dtype=tf.float32) 

我上了同一行以下錯誤:

TypeError: Expected float32, got list containing Tensors of type '_Message' instead.

是什麼原因這些錯誤?我希望我的最終輸出是張量張量。

編輯:我檢查了單個張量的列表的DType。所有這些都是float32類型。現在可能是什麼原因造成這個錯誤?

回答

4

我應該使用tf.pack()這是爲了這個目的:將N維張量的列表轉換爲N + 1維度的向量。非常簡單。

+1

此運算符現在稱爲'tf.stack()'。 –