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,
seed=None,
**kwargs
)
LSTM 层的 cell 类。
此类处理整个时间序列输入中的一步,而 keras.layer.LSTM
处理整个序列。
参数
tanh
)。如果传入 None,则不应用激活函数(即:“线性”激活函数:a(x) = x
)。sigmoid
)。如果传入 None
,则不应用激活函数(即:“线性”激活函数:a(x) = x
)。True
),层是否应使用偏置向量。kernel
权重矩阵的初始化器,用于输入的线性变换。默认值:"glorot_uniform"
。recurrent_kernel
权重矩阵的初始化器,用于循环状态的线性变换。默认值:"orthogonal"
。"zeros"
。True
)。如果为 True
,则在初始化时向遗忘门的偏置添加 1。将其设置为 True
还会强制将 bias_initializer
设置为 "zeros"
。Jozefowicz 等人的论文中推荐此做法。kernel
权重矩阵的正则化函数。默认值:None
。recurrent_kernel
权重矩阵的正则化函数。默认值:None
。None
。kernel
权重矩阵的约束函数。默认值:None
。recurrent_kernel
权重矩阵的约束函数。默认值:None
。None
。调用参数
(batch, features)
。(batch, units)
的 2D 张量,即前一时间步的状态。dropout
或 recurrent_dropout
时相关。示例
>>> inputs = np.random.random((32, 10, 8))
>>> rnn = keras.layers.RNN(keras.layers.LSTMCell(4))
>>> output = rnn(inputs)
>>> output.shape
(32, 4)
>>> rnn = keras.layers.RNN(
... keras.layers.LSTMCell(4),
... return_sequences=True,
... return_state=True)
>>> whole_sequence_output, final_state = rnn(inputs)
>>> whole_sequence_output.shape
(32, 10, 4)
>>> final_state.shape
(32, 4)