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
>>> x = Tensor(np.arange(-3, 3, dtype=np.float32))
>>> y = F.softplus(x)
>>> y.numpy().round(decimals=4)
array([0.0486, 0.1269, 0.3133, 0.6931, 1.3133, 2.1269], dtype=float32)
返回类型

Tensor