当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.layers.GRUCell用法及代码示例


GRU 层的单元类。

继承自:GRUCellLayerModule

用法

tf.keras.layers.GRUCell(
    units, activation='tanh', recurrent_activation='sigmoid',
    use_bias=True, kernel_initializer='glorot_uniform',
    recurrent_initializer='orthogonal',
    bias_initializer='zeros', kernel_regularizer=None,
    recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None,
    recurrent_constraint=None, bias_constraint=None, dropout=0.0,
    recurrent_dropout=0.0, reset_after=True, **kwargs
)

参数

  • units 正整数,输出空间的维度。
  • activation 要使用的激活函数。默认值:双曲正切(tanh)。如果您通过 None,则不应用激活(即 "linear" 激活:a(x) = x )。
  • recurrent_activation 用于循环步骤的激活函数。默认值:sigmoid (sigmoid)。如果您通过 None ,则不会应用激活(即 "linear" 激活:a(x) = x )。
  • use_bias 布尔值,(默认 True ),图层是否使用偏置向量。
  • kernel_initializer kernel 权重矩阵的初始化器,用于输入的线性变换。默认值:glorot_uniform
  • recurrent_initializer recurrent_kernel 权重矩阵的初始化器,用于循环状态的线性变换。默认值:orthogonal
  • bias_initializer 偏置向量的初始化器。默认值:zeros
  • kernel_regularizer 应用于kernel 权重矩阵的正则化函数。默认值:None
  • recurrent_regularizer 应用于recurrent_kernel 权重矩阵的正则化函数。默认值:None
  • bias_regularizer 应用于偏置向量的正则化函数。默认值:None
  • kernel_constraint 应用于kernel 权重矩阵的约束函数。默认值:None
  • recurrent_constraint 应用于recurrent_kernel 权重矩阵的约束函数。默认值:None
  • bias_constraint 应用于偏置向量的约束函数。默认值:None
  • dropout 在 0 和 1 之间浮点数。为输入的线性变换而下降的单位分数。默认值:0。
  • recurrent_dropout 在 0 和 1 之间浮点数。用于循环状态的线性变换的单位的分数。默认值:0。
  • reset_after GRU 约定(是否在矩阵乘法之后或之前应用重置门)。 False = "before",True = "after"(默认和 cuDNN 兼容)。

有关 RNN API 使用的详细信息,请参阅 Keras RNN API 指南。

此类处理整个时间序列输入中的一个步骤,而tf.keras.layer.GRU 处理整个序列。

例如:

inputs = tf.random.normal([32, 10, 8])
rnn = tf.keras.layers.RNN(tf.keras.layers.GRUCell(4))
output = rnn(inputs)
print(output.shape)
(32, 4)
rnn = tf.keras.layers.RNN(
   tf.keras.layers.GRUCell(4),
   return_sequences=True,
   return_state=True)
whole_sequence_output, final_state = rnn(inputs)
print(whole_sequence_output.shape)
(32, 10, 4)
print(final_state.shape)
(32, 4)

调用参数:

  • inputs:一个二维张量,形状为[batch, feature].
  • states:一个二维张量,形状为[batch, units],这是上一个时间步的状态。对于时间步 0,用户提供的初始状态将被馈送到单元格。
  • training:Python 布尔值,指示层应该在训练模式还是推理模式下运行。仅在以下情况下相关dropout或者recurrent_dropout被使用。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.GRUCell。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。