2016-08-01 28 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?我可以使用它来执行放置在问题中的代码,并将一定数量的占位符附加到列表中,但是在此循环之前完成馈送过程并发生“列表索引超出范围”的错误 –