計算 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
