HardSwishGrad
【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | √ |
功能说明
算子功能:HardSwish激活函数的反向传播,完成张量self的梯度计算。
计算公式:
$$ out_{i} = gradOutput_{i} \times gradSelf_{i} $$
其中 gradSelf 的计算公式为:
$$ gradSelf_{i} = \begin{cases} 0, & self_{i} \le -3, \ self_{i} / 3 + 0.5, & -3 < self_{i} < 3, \ 1, & self_{i} \ge 3 \end{cases} $$
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| grad_output | 输入 | 表示HardSwish激活函数正向输出的梯度,公式中的gradOutput。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| self | 输入 | 表示用于计算激活函数的张量,公式中的self。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| grad_input | 输出 | 表示HardSwish正向输入的梯度值,即对输入进行求导后的结果。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
约束说明
- 确定性计算:aclnnHardswishBackward默认确定性实现。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_hard_swish_backward | 通过aclnnHardswishBackward接口方式调用HardSwishGrad算子。 |
【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考