开发者
资源
[object Object][object Object][object Object]undefined
[object Object]
  • 接口功能:LSTM(Long Short-Term Memory,长短时记忆)网络是一种特殊的循环神经网络(RNN)模型。进行LSTM网络计算,接收输入序列和初始状态,返回输出序列和最终状态。
  • 计算公式:(1)ft=σ(Wf[ht1,xt]+bf)(2)it=σ(Wi[ht1,xt]+bi)(3)ot=σ(Wo[ht1,xt]+bo)(4)c~t=tanh(Wc[ht1,xt]+bc)(5)ct=ftct1+itc~t(6)cot=tanh(ct)(7)ht=otcot\begin{aligned} (1)\qquad f_t &=\sigma(W_f[h_{t-1}, x_t] + b_f) \\ (2)\qquad i_t &=\sigma(W_i[h_{t-1}, x_t] + b_i) \\ (3)\qquad o_t &=\sigma(W_o[h_{t-1}, x_t] + b_o) \\ (4)\qquad \tilde{c}_t &=tanh(W_c[h_{t-1}, x_t] + b_c) \\ (5)\qquad c_t &=f_t ⊙ c_{t-1} + i_t ⊙ \tilde{c}_t \\ (6)\qquad c_{o}^{t} &=tanh(c_t) \\ (7)\qquad h_t &=o_t ⊙ c_{o}^{t} \\ \end{aligned}
    • xtRdx_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输入激活向量。
    • ctRhc_t ∈ R^{h}:cell状态向量。
    • WRh×d(URh×h)(bRh)W ∈ R^{h×d},(U ∈ R^{h×h})∩(b ∈ R^{h}):训练中需要学习的权重矩阵和偏置向量参数。
[object Object]

每个算子分为,必须先调用“aclnnLSTMGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnLSTM”接口执行计算。

[object Object]
[object Object]
[object Object]
  • 参数说明:

    [object Object][object Object][object Object][object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口会完成入参校验,出现以下场景时报错:

    [object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus: 返回状态码,具体参见

[object Object]
  • 确定性计算:
    • aclnnLSTM默认确定性实现。
[object Object]

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]