[source]

RNN

keras.engine.base_layer.wrapped_fn()

循环图层的基类.

Arguments

  • cell :一个RNN单元实例. RNN单元是具有以下内容的类:

    • call(input_at_t, states_at_t)方法,返回(output_at_t, states_at_t_plus_1) . 单元格的调用方法也可以采用可选的参数constants ,请参见下面的"传递外部常量的注意事项"部分.
    • 一个state_size属性. 这可以是单个整数(单状态),在这种情况下,它是循环状态的大小(应与单元输出的大小相同). 这也可以是整数的列表/元组(每个状态一个大小).
    • 一个output_size属性. 它可以是单个整数或TensorShape,它们表示输出的形状. 出于向后兼容的原因,如果该属性对于单元格不可用,则该值将由state_size的第一个元素推断.

    cell也可能是RNN信元实例的列表,在这种情况下,信元在RNN中一个接一个地堆叠,从而实现了有效的堆叠RNN.

  • return_sequences :布尔值. 是返回输出序列中的最后一个输出还是完整序列.

  • return_state :布尔值. 除输出外,是否返回最后一个状态.
  • go_backwards :布尔值(默认为False). 如果为True,则向后处理输入序列,并返回相反的序列.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.
  • unroll :布尔值(默认为False). 如果为True,则将展开网络,否则将使用符号循环. 展开可以加快RNN的速度,尽管它往往会占用更多的内存. 展开仅适用于短序列.
  • input_dim :输入的维数(整数). 当将此层用作模型的第一层时,需要此自变量(或关键字自变量input_shape ).
  • input_length :输入序列的长度,当它是常数时要指定. 如果要在上游连接Flatten然后连接Dense层,则需要此参数(否则,将无法计算密集输出的形状). 请注意,如果递归层不是模型中的第一层,则需要在第一层的级别上指定输入长度(例如,通过input_shape参数)

输入形状

具有形状(batch_size, timesteps, input_dim) 3D张量.

输出形状

  • 如果return_state :张量列表. 第一个张量是输出. 其余的张量是最后一个状态,每个状态都具有形状(batch_size, units) . 例如,状态张量的数目是1(对于RNN和GRU)或2(对于LSTM).
  • 如果return_sequences :具有形状(batch_size, timesteps, units) 3D张量.
  • 否则,形状为(batch_size, units) 2D张量.

Masking

该层支持对具有可变数量的时间步长的输入数据进行屏蔽. 介绍面具到您的数据,使用嵌入与层mask_zero参数设置为True .

关于在RNN中使用有状态性的说明

您可以将RNN图层设置为"有状态",这意味着针对一批中的样本计算出的状态将被用作下一批次中的样本的初始状态. 假设不同连续批次中的样品之间是一对一的映射.

要启用状态性:-在图层构造函数中指定stateful=True . -通过将顺序模型: batch_input_shape=(...)传递到模型的第一层,为模型指定固定的批量大小. 否则,对于具有一个或多个输入层的功能模型:在模型的所有第一层中使用batch_shape=(...) . 这是您期望的输入形状, 包括批量大小 . 它应该是整数的元组,例如(32, 10, 100) . -在调用fit()时指定shuffle=False .

要重置模型的状态,请在特定层或整个模型上调用.reset_states() .

有关指定RNN初始状态的注意事项

您可以通过使用关键字参数initial_state进行调用来象征性地指定RNN层的初始状态. initial_state的值应为代表RNN层初始状态的张量或张量列表.

您可以通过使用关键字参数states调用reset_states来数字指定RNN层的初始状态. states的值应该是numpy数组或numpy数组的列表,它们表示RNN层的初始状态.

关于将外部常量传递给RNN的说明

您可以使用RNN.__call__ (以及RNN.call )方法的constants关键字参数将"外部"常量传递给单元格. 这要求cell.call方法接受相同的关键字参数constants . 这样的常数可以用来在附加静态输入(不随时间变化)上调节单元转换,也就是一种注意机制.

Examples

# First, let's define a RNN Cell, as a layer subclass.

class MinimalRNNCell(keras.layers.Layer):

    def __init__(self, units, **kwargs):
        self.units = units
        self.state_size = units
        super(MinimalRNNCell, self).__init__(**kwargs)

    def build(self, input_shape):
        self.kernel = self.add_weight(shape=(input_shape[-1], self.units),
                                      initializer='uniform',
                                      name='kernel')
        self.recurrent_kernel = self.add_weight(
            shape=(self.units, self.units),
            initializer='uniform',
            name='recurrent_kernel')
        self.built = True

    def call(self, inputs, states):
        prev_output = states[0]
        h = K.dot(inputs, self.kernel)
        output = h + K.dot(prev_output, self.recurrent_kernel)
        return output, [output]

# Let's use this cell in a RNN layer:

cell = MinimalRNNCell(32)
x = keras.Input((None, 5))
layer = RNN(cell)
y = layer(x)

# Here's how to use the cell to build a stacked RNN:

cells = [MinimalRNNCell(32), MinimalRNNCell(64)]
x = keras.Input((None, 5))
layer = RNN(cells)
y = layer(x)

[source]

SimpleRNN

keras.layers.SimpleRNN(units, activation='tanh', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

完全连接的RNN,其中输出将反馈到输入.

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换(请参阅Initializers ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于循环状态的线性转换(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.
  • return_sequences :布尔值. 是返回输出序列中的最后一个输出还是完整序列.
  • return_state :布尔值. 除输出外,是否返回最后一个状态.
  • go_backwards :布尔值(默认为False). 如果为True,则向后处理输入序列,并返回相反的序列.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.
  • unroll: Boolean (default False). If True, the network will be unrolled, else a symbolic loop will be used. Unrolling can speed-up a RNN, although it tends to be more memory-intensive. Unrolling is only suitable for short sequences.

[source]

GRU

keras.layers.GRU(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, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=2, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, reset_after=False)

门控循环单元-Cho等. 2014.

有两种变体. 默认值基于1406.1078v3,并且在矩阵乘法之前已将复位门应用于隐藏状态. 另一个基于原始1406.1078v1,并且顺序相反.

第二种变体与CuDNNGRU(仅GPU)兼容,并允许在CPU上进行推理. 因此,它对kernelrecurrent_kernel具有不同的偏见. 使用'reset_after'=Truerecurrent_activation='sigmoid' .

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ). 默认值:硬Sigmoid( hard_sigmoid ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias: Boolean, whether the layer uses a bias vector.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换(请参阅Initializers ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于循环状态的线性转换(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.
  • 实施 :实施模式1或2.模式1将其操作构造为大量较小的点乘积和加法运算,而模式2将其分为较少的较大操作. 这些模式在不同的硬件和不同的应用程序上将具有不同的性能配置文件.
  • return_sequences :布尔值. 是返回输出序列中的最后一个输出还是完整序列.
  • return_state :布尔值. 除输出外,是否返回最后一个状态.
  • go_backwards :布尔值(默认为False). 如果为True,则向后处理输入序列,并返回相反的序列.
  • stateful: Boolean (default False). If True, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch.
  • unroll :布尔值(默认为False). 如果为True,则将展开网络,否则将使用符号循环. 展开可以加快RNN的速度,尽管它往往会占用更多的内存. 展开仅适用于短序列.
  • reset_after :GRU约定(是否在矩阵乘法之后或之前应用复位门). False ="之前"(默认),True ="之后"(与CuDNN兼容).

References


[source]

LSTM

keras.layers.LSTM(units, activation='tanh', recurrent_activation='sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=2, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

长短期记忆层-Hochreiter 1997.

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ). 默认值:硬Sigmoid( hard_sigmoid ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换. (请参阅初始化程序 ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于递归状态的线性转换. (请参阅初始化程序 ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • unit_forget_bias :布尔值. 如果为True,则在初始化时将1加到忘记门的偏置上. 将其设置为true也会强制bias_initializer="zeros" . Jozefowicz等人建议使用此方法. (2015) .
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.
  • 实施 :实施模式1或2.模式1将其操作构造为大量较小的点乘积和加法运算,而模式2将其分为较少的较大操作. 这些模式在不同的硬件和不同的应用程序上将具有不同的性能配置文件.
  • return_sequences: Boolean. Whether to return the last output in the output sequence, or the full sequence.
  • return_state :布尔值. 除输出外,是否返回最后一个状态. 状态列表的返回元素分别是隐藏状态和单元状态.
  • go_backwards :布尔值(默认为False). 如果为True,则向后处理输入序列,并返回相反的序列.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.
  • unroll :布尔值(默认为False). 如果为True,则将展开网络,否则将使用符号循环. 展开可以加快RNN的速度,尽管它往往会占用更多的内存. 展开仅适用于短序列.

References


[source]

ConvLSTM2D

keras.layers.ConvLSTM2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, go_backwards=False, stateful=False, dropout=0.0, recurrent_dropout=0.0)

卷积LSTM.

它类似于LSTM层,但是输入转换和递归转换都是卷积的.

Arguments

  • 滤镜 :整数,输出空间的维数(即卷积中滤镜输出的数量).
  • kernel_size :一个整数或n个整数的元组/列表,指定卷积窗口的尺寸.
  • strides :一个整数或n个整数的元组/列表,指定卷积的步幅. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • padding"valid""same" (不区分大小写)之一.
  • data_format :字符串,是"channels_last" (默认)或"channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, time, ..., channels)输入,而"channels_first"对应于具有形状(batch, time, channels, ...) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是"channels_last" .
  • dilation_rate :一个整数或n个整数的元组/列表,指定用于扩张卷积的扩张率. 当前,指定任何dilation_rate值!= 1与指定任何strides值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换. (请参阅初始化程序 ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于递归状态的线性转换. (请参阅初始化程序 ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • unit_forget_bias :布尔值. 如果为True,则在初始化时将1加到忘记门的偏置上. 与bias_initializer="zeros"结合使用. Jozefowicz等人建议使用此方法. (2015) .
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • return_sequences :布尔值. 是返回输出序列中的最后一个输出还是完整序列.
  • go_backwards :布尔值(默认为False). 如果为True,则向后处理输入序列.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.

输入形状

  • 如果data_format ='channels_first'5D张量,其形状为:( (samples, time, channels, rows, cols)
  • 如果data_format ='channels_last'具有以下形状的5D张量:( (samples, time, rows, cols, channels)

输出形状

  • if return_sequences
    • 如果data_format ='channels_first'5D张量,其形状为:( (samples, time, filters, output_row, output_col)
    • 如果data_format ='channels_last'具有以下形状的5D张量:( (samples, time, output_row, output_col, filters)
  • else

    • 如果data_format ='channels_first'具有以下形状的4D张量:( (samples, filters, output_row, output_col)
    • 如果data_format ='channels_last'具有以下形状的4D张量:( (samples, output_row, output_col, filters)

    其中o_row和o_col取决于过滤器的形状和填充

Raises

  • ValueError :如果构造函数参数无效.

References


[source]

ConvLSTM2DCell

keras.layers.ConvLSTM2DCell(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, 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)

ConvLSTM2D层的单元格类.

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或n个整数的元组/列表,指定卷积窗口的尺寸.
  • strides :一个整数或n个整数的元组/列表,指定卷积的步幅. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • padding"valid""same" (不区分大小写)之一.
  • data_format :字符串,是"channels_last" (默认)或"channels_first" . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是"channels_last" .
  • dilation_rate :一个整数或n个整数的元组/列表,指定用于扩张卷积的扩张率. 当前,指定任何dilation_rate值!= 1与指定任何strides值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换. (请参阅初始化程序 ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于递归状态的线性转换. (请参阅初始化程序 ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • unit_forget_bias :布尔值. 如果为True,则在初始化时将1加到忘记门的偏置上. 与bias_initializer="zeros"结合使用. Jozefowicz等人建议使用此方法. (2015) .
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.

[source]

SimpleRNNCell

keras.layers.SimpleRNNCell(units, activation='tanh', 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)

SimpleRNN的单元格类.

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换(请参阅Initializers ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于循环状态的线性转换(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.

[source]

GRUCell

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, implementation=2, reset_after=False)

GRU层的单元格类别.

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ). 默认值:硬Sigmoid( hard_sigmoid ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换(请参阅Initializers ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于循环状态的线性转换(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.
  • 实施 :实施模式1或2.模式1将其操作构造为大量较小的点乘积和加法运算,而模式2将其分为较少的较大操作. 这些模式在不同的硬件和不同的应用程序上将具有不同的性能配置文件.
  • reset_after :GRU约定(是否在矩阵乘法之后或之前应用复位门). False ="之前"(默认),True ="之后"(与CuDNN兼容).

[source]

LSTMCell

keras.layers.LSTMCell(units, activation='tanh', recurrent_activation='sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, 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, implementation=2)

LSTM层的单元格类别.

Arguments

  • 单位 :正整数,输出空间的维数.
  • activation :要使用的激活功能(请参阅激活 ). 默认值:双曲正切( tanh ). 如果您通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).
  • recurrent_activation :用于重复步骤的激活功能(请参阅激活 ). 默认值:硬Sigmoid( hard_sigmoid ). 如果通过None ,则不应用任何激活(即"线性"激活: a(x) = x ).x
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换(请参阅Initializers ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于循环状态的线性转换(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • unit_forget_bias: Boolean. If True, add 1 to the bias of the forget gate at initialization. Setting it to true will also force bias_initializer="zeros". This is recommended in Jozefowicz et al. (2015).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • dropout :在0到1之间浮动.为线性转换输入而下降的单位的分数.
  • recurrent_dropout :在0到1之间浮动.在递归状态的线性转换中要下降的单位的分数.
  • 实施 :实施模式1或2.模式1将其操作构造为大量较小的点乘积和加法运算,而模式2将其分为较少的较大操作. 这些模式在不同的硬件和不同的应用程序上将具有不同的性能配置文件.

[source]

CuDNNGRU

keras.layers.CuDNNGRU(units, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

CuDNN支持的快速GRU实现.

只能在具有TensorFlow后端的GPU上运行.

Arguments

  • 单位 :正整数,输出空间的维数.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换. (请参阅初始化程序 ).
  • recurrent_initializerrecurrent_kernel权重矩阵的初始化程序,用于递归状态的线性转换. (请参阅初始化程序 ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • return_sequences :布尔值. 是否返回最后的输出. 在输出序列或完整序列中.
  • return_state :布尔值. 除输出外,是否返回最后一个状态.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.

[source]

CuDNNLSTM

keras.layers.CuDNNLSTM(units, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

Fast LSTM implementation with CuDNN.

只能在具有TensorFlow后端的GPU上运行.

Arguments

  • 单位 :正整数,输出空间的维数.
  • kernel_initializerkernel权重矩阵的初始化kernel ,用于输入的线性转换. (请参阅初始化程序 ).
  • recurrent_initializer: Initializer for the recurrent_kernel weights matrix, used for the linear transformation of the recurrent state. (see initializers).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • unit_forget_bias :布尔值. 如果为True,则在初始化时将1加到忘记门的偏置上. 将其设置为true也会强制bias_initializer="zeros" . Jozefowicz等人建议使用此方法. (2015) .
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • recurrent_regularizer :将regularizer函数应用于recurrent_kernel权重矩阵(请参见regulator ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于kernel权重矩阵的约束函数(请参阅constraints ).
  • recurrent_constraint :应用于recurrent_kernel权重矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).
  • return_sequences :布尔值. 是否返回最后的输出. 在输出序列或完整序列中.
  • return_state :布尔值. 除输出外,是否返回最后一个状态.
  • stateful :布尔值(默认为False). 如果为True,则将批次中索引i的每个样本的最后状态用作下一个批次中索引i的样本的初始状态.