Python Tensorflow中的生成序列

Python Tensorflow中的生成序列,python,tensorflow,recurrent-neural-network,generative,Python,Tensorflow,Recurrent Neural Network,Generative,我使用下面的代码作为一种方法来生成一系列长度num\u步骤给定的起始点和起始状态,使用RNNCell的实例,例如cell=GRUCell(神经元的数量) 但这对于我的用例来说是缓慢而繁琐的,因为num\u steps=1000。即使实例化图形也要花费很长时间 这个功能是否存在于Tensroflow中的某个地方,而我只是错过了它 请注意,我所寻找的与tf.contrib.rnn.static\u rnn的行为类似,但不同。将此函数的行为总结为仅将RNN按顺序应用于每个时间步: state = ce

我使用下面的代码作为一种方法来生成一系列长度
num\u步骤
给定的
起始点
起始状态
,使用
RNNCell
的实例,例如
cell=GRUCell(神经元的数量)

但这对于我的用例来说是缓慢而繁琐的,因为
num\u steps=1000
。即使实例化图形也要花费很长时间

这个功能是否存在于Tensroflow中的某个地方,而我只是错过了它

请注意,我所寻找的与
tf.contrib.rnn.static\u rnn
的行为类似,但不同。将此函数的行为总结为仅将RNN按顺序应用于每个时间步:

state = cell.zero_state(...)
  outputs = []
  for input_ in inputs:
    output, state = cell(input_, state)
    outputs.append(output)
  return (outputs, state)

但在我的例子中,我希望将一个步骤的输出作为下一个步骤的输入。

在tensorflow nightly构建中,请参阅tf.contrin.seq2seq以了解动态解码器对象。您可以使用定时采样帮助器执行所需操作。或者使用tf.nn.dynamic_rnn并将所有零作为输入。lstm h状态也是lstm输出,因此您得到的行为与您想要的基本相同。

谢谢您的回答(+1)。我注意到r1.1中添加了这些内容,但它们的用法完全不透明。例如,什么是解码器对象?什么是辅助对象?为什么我也需要?他们是干什么的?现在,我已经通过提供
loop\u fn=lambda prev,I:prev
来使用
legacyseq2seq.rnn\u decode
对我想要的行为进行了修改,但仍然很慢。我们正在编写教程。现在,请看单元测试的用法示例。nighties稍微改变了API,所以我建议使用它们。
state = cell.zero_state(...)
  outputs = []
  for input_ in inputs:
    output, state = cell(input_, state)
    outputs.append(output)
  return (outputs, state)