megengine.functional.nn.softplus

softplus(inp)[源代码]

对每个元素应用函数:

\[\text{softplus}(x) = \log(1 + \exp(x))\]

softplus 是 ReLU 函数的一个平滑的近似,可以被用来保证机器的输出一定是正数。为了提高数值稳定性,实现根据以下变换:

\[\text{softplus}(x) = \log(1 + \exp(x)) = \log(1 + \exp(-\text{abs}(x))) + \max(x, 0) = \log1p(\exp(-\text{abs}(x))) + \text{relu}(x)\]

实际案例

import numpy as np
from megengine import tensor
import megengine.functional as F

x = tensor(np.arange(-3, 3, dtype=np.float32))
y = F.softplus(x)
print(y.numpy().round(decimals=4))

输出:

[0.0486 0.1269 0.3133 0.6931 1.3133 2.1269]
返回类型

Tensor