文件最后提交记录最后更新时间
1 个月前
13 天前
13 天前
13 天前
13 天前
5 个月前
2 个月前
README

BidirectionLSTMV2

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品 ×

功能说明

  • 算子功能:LSTM(Long Short-Term Memory,长短时记忆)网络是一种特殊的循环神经网络(RNN)模型。进行LSTM网络计算,接收输入序列和初始状态,返回输出序列和最终状态。相比aclnnBidirectionLSTM新增了Sequence不等长场景。

  • 计算公式:

    ft=sigm(Wf[ht−1,xt]+bf)it=sigm(Wi[ht−1,xt]+bi)ot=sigm(Wo[ht−1,xt]+bo)c~t=tanh(Wc[ht−1,xt]+bc)ct=ft⊙ct−1+it⊙c~tcot=tanh(ct)ht=ot⊙cotf_t =sigm(W_f[h_{t-1}, x_t] + b_f)\\ i_t =sigm(W_i[h_{t-1}, x_t] + b_i)\\ o_t =sigm(W_o[h_{t-1}, x_t] + b_o)\\ \tilde{c}_t =tanh(W_c[h_{t-1}, x_t] + b_c)\\ c_t =f_t ⊙ c_{t-1} + i_t ⊙ \tilde{c}_t\\ c_{o}^{t} =tanh(c_t)\\ h_t =o_t ⊙ c_{o}^{t}\\

    • xt∈Rdx_t ∈ R^{d}:LSTM单元的输入向量。
    • ft∈(0,1)hf_t ∈ (0, 1)^{h}:遗忘门激活向量。
    • it∈(0,1)hi_t ∈ (0, 1)^{h}:输入门、更新门激活向量。
    • ot∈(0,1)ho_t ∈ (0, 1)^{h}:输出门激活向量。
    • hi∈(−1,1)hh_i ∈ (-1, 1)^{h}:隐藏状态向量,也称为LSTM单元的输出向量。
    • c~t∈(−1,1)h\tilde{c}_t ∈ (-1, 1)^{h}:cell输入激活向量。
    • ct∈Rhc_t ∈ R^{h}:cell状态向量。
    • W∈Rh×d,(U∈Rh×h)∩(b∈Rh)W ∈ R^{h×d},(U ∈ R^{h×h})∩(b ∈ R^{h}):训练中需要学习的权重矩阵和偏置向量参数。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 LSTM单元的输入向量,公式中的x。 FLOAT16 ND
initH 输入 初始化hidden状态,公式中的h。 FLOAT16 ND
initC 输入 初始化cell状态,公式中的c。 FLOAT16 ND
wIh 输入 input-hidden权重,公式中的W。 FLOAT16 ND
wHh 输入 hidden-hidden权重,公式中的W。 FLOAT16 ND
bIhOptional 输入 input-hidden偏移,公式中的b。 FLOAT16 ND
bHhOptional 输入 hidden-hidden偏移,公式中的b。 FLOAT16 ND
wIhReverseOptional 输入 逆向input-hidden权重,公式中的W。 FLOAT16 ND
wHhReverseOptional 输入 逆向hidden-hidden权重,公式中的W。 FLOAT16 ND
bIhReverseOptional 输入 逆向input-hidden偏移,公式中的b。 FLOAT16 ND
bHhReverseOptional 输入 逆向hidden-hidden偏移,公式中的b。 FLOAT16 ND
batchSizeOptional 输入 每轮迭代实际参与计算的batch_size。 INT ND
numLayers 属性 表示LSTM层数。当前只支持1。 INT -
isbias 属性 表示是否有bias。 BOOL -
batchFirst 属性 表示batch是否是第一维。当前只支持false。 BOOL -
bidirection 属性 表示是否是双向。 BOOL -
packed 属性 表示输入x是否压缩。仅在batchSizeOptional不为空时生效。 BOOL -
yOut 输出 LSTM单元的输出向量。 FLOAT16 ND
outputHOut 输出 最终hidden状态,公式中的h。 FLOAT16 ND
outputCOut 输出 最终cell状态,公式中的c。 FLOAT16 ND

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_bidirection_lstmv2 通过aclnnBidirectionLSTMV2接口方式调用BidirectionLSTMV2算子。