昇腾社区首页
中文
注册
开发者
下载

aclnnSwishBackward

产品支持情况

[object Object]undefined

功能说明

  • 接口功能:aclnnSwishBackward是激活函数的反向传播,用于计算Swish激活函数的梯度。

  • 计算公式:

    • Swish函数公式
    s(x)=xσ(βx)s(x) = x*\sigma(\beta x)
    • Swish函数公式的导数实现
    $$ s^\prime(x)= \beta s(x)+\sigma(\beta x)(1-\beta s(x))= \sigma(\beta x)*(1+\beta x(1-\sigma(\beta x))) $$ $$

    gradInput = gradOutput * s^\prime(x)

    $$ $$ \sigma(x) = {\frac{1} {1+{e}^{-x}}} $$

    其中σ(x)\sigma(x)为Sigmoid函数,s(x)s(x)为Swish函数,s(x)s^\prime(x)为Swish函数的导数。

函数原型

每个算子分为,必须先调用“aclnnSwishBackwardGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnSwishBackward”接口执行计算。

[object Object]
[object Object]

aclnnSwishBackwardGetWorkspaceSize

  • 参数说明:

    [object Object]
    • [object Object]Atlas 推理系列产品[object Object]、[object Object]Atlas 训练系列产品[object Object]:数据类型支持FLOAT16、FLOAT。
  • 返回值:

    aclnnStatus:返回状态码,具体参见。 第一段接口会完成入参校验,出现以下场景时报错:

    [object Object]

aclnnSwishBackward

  • 参数说明:

    [object Object]
  • 返回值:

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

约束说明

  • 确定性计算:
    • aclnnSwishBackward默认确定性实现。

调用示例

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

[object Object]