CANN/ops-nn HardShrink算子
HardShrink
【免费下载链接】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 训练系列产品 | √ |
功能说明
算子功能:完成 HardShrink 激活函数计算,将输入张量中绝对值小于等于阈值 lambd 的元素置零,大于阈值的元素保持不变。
计算公式:
$$ \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 | 通过 aclnn 两段式接口调用,详见 aclnnHardshrink 接口文档。 |
【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
