计算 1 个时间步长的 LSTM 单元前向传播。
用法
tf.raw_ops.LSTMBlockCell(
x, cs_prev, h_prev, w, wci, wcf, wco, b, forget_bias=1, cell_clip=3,
use_peephole=False, name=None
)参数
-
x一个Tensor。必须是以下类型之一:half,float32。 LSTM 单元的输入,形状(batch_size,num_inputs)。 -
cs_prev一个Tensor。必须与x具有相同的类型。上一个时间步的细胞状态值。 -
h_prev一个Tensor。必须与x具有相同的类型。上一个时间步的上一个单元格的输出。 -
w一个Tensor。必须与x具有相同的类型。权重矩阵。 -
wci一个Tensor。必须与x具有相同的类型。输入门窥孔连接的权重矩阵。 -
wcf一个Tensor。必须与x具有相同的类型。遗忘门窥视孔连接的权重矩阵。 -
wco一个Tensor。必须与x具有相同的类型。输出门窥视孔连接的权重矩阵。 -
b一个Tensor。必须与x具有相同的类型。偏置向量。 -
forget_bias可选的float。默认为1。遗忘门偏差。 -
cell_clip可选的float。默认为3。将 'cs' 值剪切到的值。 -
use_peephole可选的bool。默认为False。是否使用窥视孔砝码。 -
name操作的名称(可选)。
返回
-
Tensor对象的元组(i、cs、f、o、ci、co、h)。 -
i一个Tensor。具有与x相同的类型。 -
cs一个Tensor。具有与x相同的类型。 -
f一个Tensor。具有与x相同的类型。 -
o一个Tensor。具有与x相同的类型。 -
ci一个Tensor。具有与x相同的类型。 -
co一个Tensor。具有与x相同的类型。 -
h一个Tensor。具有与x相同的类型。
此实现使用 1 个权重矩阵和 1 个偏置向量,并且有一个可选的窥视孔连接。
这个内核操作实现了以下数学方程:
xh = [x, h_prev]
[i, f, ci, o] = xh * w + b
f = f + forget_bias
if not use_peephole:
wci = wcf = wco = 0
i = sigmoid(cs_prev * wci + i)
f = sigmoid(cs_prev * wcf + f)
ci = tanh(ci)
cs = ci .* i + cs_prev .* f
cs = clip(cs, cell_clip)
o = sigmoid(cs * wco + o)
co = tanh(cs)
h = co .* o
相关用法
- Python tf.raw_ops.LogSoftmax用法及代码示例
- Python tf.raw_ops.L2Loss用法及代码示例
- Python tf.raw_ops.LogicalOr用法及代码示例
- Python tf.raw_ops.LessEqual用法及代码示例
- Python tf.raw_ops.LeftShift用法及代码示例
- Python tf.raw_ops.Log1p用法及代码示例
- Python tf.raw_ops.LogicalNot用法及代码示例
- Python tf.raw_ops.Lgamma用法及代码示例
- Python tf.raw_ops.Less用法及代码示例
- Python tf.raw_ops.LRN用法及代码示例
- Python tf.raw_ops.Log用法及代码示例
- Python tf.raw_ops.ListDiff用法及代码示例
- Python tf.raw_ops.LogicalAnd用法及代码示例
- Python tf.raw_ops.LinSpace用法及代码示例
- Python tf.raw_ops.TPUReplicatedInput用法及代码示例
- Python tf.raw_ops.Bitcast用法及代码示例
- Python tf.raw_ops.SelfAdjointEigV2用法及代码示例
- Python tf.raw_ops.BatchMatMul用法及代码示例
- Python tf.raw_ops.OneHot用法及代码示例
- Python tf.raw_ops.ResourceScatterNdSub用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.raw_ops.LSTMBlockCell。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
