2016-08-01 27 views
0

我以張量流實現了LSTM的代碼,並且我的每批都有不同的長度。爲了將數據提供給圖形,我需要有可變長度的輸入列表。張量流中迴路的可變範圍

我想下面的循環在tensorflow中有一個變量範圍。在創建圖形時,我可以在開始時將其初始化爲特定值,但是不可能進行任何修改。我試圖使用全局列表的長度作爲外部參數,但它不起作用。

self._train_data = [] 
for _ in range(variable_length): 
    placeholder_input = tf.placeholder(tf.float32, shape=[self._batch_size, self._input_size])  
    self._train_data.append(placeholder_input) 

回答

1

TensorFlow seq2seq tutorial討論了長度可變的問題,幷包含處理它們的代碼。它是在tf.while_loop之前寫的,現在它允許你更好地處理多個長度。但一般的規則仍然適用,所以看看那裏!

+0

我創建了lstm單元的代碼,我想使用它。爲了擴展它,我想添加可變序列大小/可變數目的展開。我如何在這種情況下使用tf.while_loop?我可以使用它來執行放置在問題中的代碼,並將一定數量的佔位符附加到列表中,但是在此循環之前完成饋送過程併發生「列表索引超出範圍」的錯誤 –