Shortcuts

SELU

class torch.nn.SELU(inplace=False)[源代码]

逐元素应用SELU函数。

SELU(x)=scale(max(0,x)+min(0,α(exp(x)1)))\text{SELU}(x) = \text{scale} * (\max(0,x) + \min(0, \alpha * (\exp(x) - 1)))

其中 α=1.6732632423543772848170429916717\alpha = 1.6732632423543772848170429916717scale=1.0507009873554804934193349852946\text{scale} = 1.0507009873554804934193349852946

警告

在使用 kaiming_normalkaiming_normal_ 进行初始化时, 应使用 nonlinearity='linear' 而不是 nonlinearity='selu' 以获得 自归一化神经网络。 更多信息请参见 torch.nn.init.calculate_gain()

更多细节可以在论文 Self-Normalizing Neural Networks 中找到。

Parameters

inplace (bool, 可选) – 可以选择就地执行操作。默认值:False

Shape:
  • 输入:()(*),其中 * 表示任意数量的维度。

  • 输出: ()(*), 与输入形状相同。

../_images/SELU.png

示例:

>>> m = nn.SELU()
>>> input = torch.randn(2)
>>> output = m(input)
优云智算