rnn
rnn创建一个由RNNCell cell
指定的递归神经网络,该神经网络重复执行 cell.call()
直至达到 inputs
的最大长度。
参数:
cell (RNNCell) - RNNCell的实例。
initial_states (Variable,可选) - 初始状态,单个tensor变量或tensor变量组成的嵌套结构,表示RNN的初始状态。如果未提供,将使用 产生初始状态。默认值None。
time_major (bool,可选) - 指示输入tensor和输出tensor中包含的tensor的数据组织。如果为False,则数据组织为batch为主,形状为
。如果为True,则数据组织为time为主,形状为 [sequence_length,batch_size,…][sequence_length,batch_size,…]。默认值:False。
kwargs - 其他关键字参数。参数传递给
cell.call
。
返回:一个元组 (final_outputs, final_states)
,包括 final_outputs
和 final_states
,均为单个tensor变量或tensor变量的嵌套结构。final_outputs
具有与 返回的 outputs
相同的结构和数据类型,并且 final_outputs
中的每个tensor是将所有时间步的 outputs
中对应内容堆叠产生,因此其形状为 [batch_size,sequence_length,…][batch_size,sequence_length,…] (time_major == False
时)或 [sequence_length,batch_size,…][sequence_length,batch_size,…] (time_major == True
时)。 是最后一步的状态,因此具有和 initial_states
相同的结构,形状和数据类型。
返回类型:tuple
示例代码