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)