LSTM 层的单元类。
用法
tf.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, **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
。 -
unit_forget_bias
布尔值(默认True
)。如果为真,则在初始化时将遗忘门的偏差加 1。将其设置为 true 也会强制bias_initializer="zeros"
.建议在Jozefowicz 等人。 -
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。
有关 RNN API 使用的详细信息,请参阅 Keras RNN API 指南。
此类处理整个时间序列输入中的一个步骤,而tf.keras.layer.LSTM
处理整个序列。
例如:
inputs = tf.random.normal([32, 10, 8])
rnn = tf.keras.layers.RNN(tf.keras.layers.LSTMCell(4))
output = rnn(inputs)
print(output.shape)
(32, 4)
rnn = tf.keras.layers.RNN(
tf.keras.layers.LSTMCell(4),
return_sequences=True,
return_state=True)
whole_seq_output, final_memory_state, final_carry_state = rnn(inputs)
print(whole_seq_output.shape)
(32, 10, 4)
print(final_memory_state.shape)
(32, 4)
print(final_carry_state.shape)
(32, 4)
调用参数:
inputs
:一个二维张量,形状为[batch, feature]
.states
:与单元格的单位相对应的 2 个张量的列表。两个都有形状[batch, units]
,第一个张量是前一个时间步的 memory 状态,第二个张量是前一个时间步的进位状态。对于时间步 0,用户提供的初始状态将被馈送到单元格。training
:Python 布尔值,指示层应该在训练模式还是推理模式下运行。仅在以下情况下相关dropout
或者recurrent_dropout
被使用。
相关用法
- Python tf.keras.layers.LSTM用法及代码示例
- Python tf.keras.layers.LayerNormalization用法及代码示例
- Python tf.keras.layers.Lambda用法及代码示例
- Python tf.keras.layers.LocallyConnected1D用法及代码示例
- Python tf.keras.layers.Layer用法及代码示例
- Python tf.keras.layers.Layer.add_loss用法及代码示例
- Python tf.keras.layers.Layer.add_metric用法及代码示例
- Python tf.keras.layers.Layer.set_weights用法及代码示例
- Python tf.keras.layers.LeakyReLU用法及代码示例
- Python tf.keras.layers.Layer.get_weights用法及代码示例
- Python tf.keras.layers.LocallyConnected2D用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
- Python tf.keras.layers.Conv2D用法及代码示例
- Python tf.keras.layers.RepeatVector用法及代码示例
- Python tf.keras.layers.Multiply用法及代码示例
- Python tf.keras.layers.Activation用法及代码示例
- Python tf.keras.layers.Conv1D用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.LSTMCell。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。