GRUCell
门控循环单元(Gated Recurrent Unit)。通过对 包装,来让它可以应用于RNNCell。
公式如下:
更多细节可以参考 Learning Phrase Representations using RNN Encoder Decoder for Statistical Machine Translation
参数:
hidden_size (int) - GRUCell中的隐藏层大小。
param_attr (ParamAttr,可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 。
gate_activation (function,可选) -
的激活函数。 默认值为
fluid.layers.sigmoid
。-
的激活函数。 默认值为
fluid.layers.tanh
name (string,可选) - 用于标识参数和偏差的名称域。
返回:GRUCell类的实例对象。
示例代码
call ( inputs, states )
执行GRU的计算。
参数:
input (Variable) - 输入,形状为
。数据类型应为float32。
返回:一个元组 ,其中 outputs
和 new_states
是同一个tensor,其形状为 [batch_size,hidden_size][batch_size,hidden_size],数据类型和 的数据类型相同,对应于公式中的 htht。
返回类型:tuple
state_shape ( )
GRUCell的 state_shape
是形状 [hidden_size][hidden_size] (batch大小为-1,自动插入到形状中),对应于 ht−1ht−1 的形状。
参数:无。
返回:GRUCell的 state_shape
。