SoftsignGrad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:完成Softsign激活函数的反向梯度计算。给定上游梯度gradients和前向输入特征features,按元素计算输出梯度。
-
计算公式:
outputi=gradientsi(1+∣featuresi∣)2output_i = \frac{gradients_i}{(1 + |features_i|)^2}
其中:
- gradients: 上游梯度张量
- features: Softsign前向函数的输入特征张量
- output: 计算得到的梯度输出张量
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| gradients | 输入 | 上游梯度张量,对应公式中的gradients。支持0-8维tensor,支持空tensor和非连续tensor。shape需要与features的shape完全相同。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| features | 输入 | Softsign前向函数的输入特征张量,对应公式中的features。支持0-8维tensor,支持空tensor和非连续tensor。shape需要与gradients的shape完全相同。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| output | 输出 | 计算得到的梯度输出张量,对应公式中的output。shape与输入相同,数据类型与输入一致。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
约束说明
- gradients和features的数据类型必须一致,且仅支持FLOAT、FLOAT16、BFLOAT16。
- gradients和features的shape必须完全相同,不支持广播。
- FP16/BF16输入在内部会提升至FP32精度计算,结果再转换回原始精度。
- aclnnSoftsignBackward默认确定性实现。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式 | test_geir_softsign_grad.cpp | 通过图模式方式调用SoftsignGrad算子。 |