HardShrink
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:完成HardShrink激活函数计算,将输入张量中绝对值小于等于阈值lambd的元素置零,大于阈值的元素保持不变。
-
计算公式:
HardShrink(x)={x,if x>λx,if x<−λ0,otherwise\text{HardShrink}(x) = \begin{cases} x, & \text{if } x > \lambda \\ x, & \text{if } x < -\lambda \\ 0, & \text{otherwise} \end{cases}
其中,x为输入张量,λ\lambda为阈值参数lambd。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 输入张量,对应公式中的x。支持0-8维,支持空Tensor。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| lambd | 输入 | 阈值参数,对应公式中的λ,float类型标量,默认值0.5。 | FLOAT | - |
| out | 输出 | 输出张量,与self同shape同dtype。 | FLOAT、FLOAT16、BFLOAT16 | ND |
约束说明
- self与out的数据类型必须一致,支持FLOAT、FLOAT16、BFLOAT16。
- self与out的shape必须一致,不涉及广播。
- self支持0-8维。
- self支持空Tensor(0元素),此时out也为空Tensor,不执行计算。
- lambd为float类型标量,取值无限制。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_hard_shrink | 通过aclnnHardshrink接口方式调用Hardshrink算子。 |