BNLL
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
- 算子功能:激活函数BNLL(Binomial Normal Log Likelihood),即数值稳定版本的softplus。
- 计算公式:
BNLL(x)=ln(1+ex)BNLL(x) = \ln(1 + e^x)
等价分段实现(保证数值稳定性):
yi={xi+ln(1+e−xi)if xi>0ln(1+exi)otherwisey_i = \begin{cases} x_i + \ln(1 + e^{-x_i}) & \text{if } x_i > 0 \\ \ln(1 + e^{x_i}) & \text{otherwise} \end{cases}
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的'x',表示BNLL激活函数的输入张量。支持空Tensor,维度支持0-8。 | FLOAT16、FLOAT32 | ND |
| y | 输出 | 表示x经BNLL计算得到的输出张量,shape和dtype与输入x一致。 | FLOAT16、FLOAT32 | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| GE图模式 | test_geir_bnll.cpp | 通过GE IR接口方式调用BNLL算子。 |