CANN/ops-nn融合偏置LeakyReLU梯度算子

CANN/ops-nn融合偏置LeakyReLU梯度算子

FusedBiasLeakyReluGrad

【免费下载链接】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 训练系列产品

功能说明

  • 算子功能:BiasAdd + LeakyReLU + Scale 三合一反向梯度算子,来自 MMCV 框架的 FusedBiasLeakyReLU 反向。给定上游梯度 y_grad 和前向特征值 features,根据 features 的符号生成梯度掩码,与 y_grad 逐元素相乘后再乘以 scale 缩放因子,输出输入特征的梯度 x_grad。

  • 计算公式:

    $$ x_grad[i] = scale \cdot y_grad[i] \cdot \begin{cases} 1.0 & \text{if } features[i] > 0 \ negative_slope & \text{if } features[i] \leq 0 \end{cases} $$

参数说明

参数名输入/输出/属性描述数据类型数据格式
y_grad输入上游回传的梯度张量,数据类型需与 features 一致。FLOAT16、FLOATND
features输入前向特征值张量,用于符号判断(features > 0 作为梯度掩码),shape 需与 y_grad 广播兼容。FLOAT16、FLOATND
negative_slope属性LeakyReLU 负半轴斜率系数,默认值 0.2。FLOAT-
scale属性方差保持缩放因子,默认值 sqrt(2) ≈ 1.414213562373。FLOAT-
x_grad输出输入特征的梯度,shape 为 y_grad 和 features 广播后的结果。同y_gradND

约束说明

  • y_grad 和 features 的数据类型必须相同。
  • y_grad 和 features 的 shape 必须满足广播规则,广播后的 rank 不超过 8。
  • 支持空 Tensor(元素数为 0 时返回空输出)。
  • Atlas 训练系列产品 、 Atlas 推理系列产品 、 Atlas A2 训练系列产品/Atlas A2 推理系列产品 、 Atlas 200I/500 A2 推理产品 :数据类型支持FLOAT16、FLOAT。
  • Ascend 950PR/Ascend 950DT :数据类型支持FLOAT16、FLOAT。

调用说明

调用方式样例代码说明
图模式test_geir_fused_bias_leaky_relu_grad通过算子IR构图方式调用FusedBiasLeakyReluGrad算子。

【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考