selu

paddle.fluid.layers. selu ( x, scale=None, alpha=None, name=None ) [源代码]

SeLU激活函数,其公式如下:

selu - 图1

输入 x 可以选择性携带LoD信息。输出和它共享此LoD信息(如果有)。

参数:

  • x (Variable) - 输入变量,为数据类型为float32,float64的多维Tensor或者LoDTensor。

  • scale (float,可选) – 可选,表示SeLU激活函数中的λ的值,其默认值为 1.0507009873554804934193349852946。 详情请见: Self-Normalizing Neural Networks

  • alpha (float,可选) – 可选,表示SeLU激活函数中的α的值,其默认值为 1.6732632423543772848170429916717。 详情请见: Self-Normalizing Neural Networks

  • name (str,可选) - 具体用法请参见 Name ,一般无需设置,默认值为None。

返回:一个Tensor,shape和输入Tensor相同。

返回类型:Variable(Tensor|LoDTensor),LoD信息与输入Tensor一致。

代码示例

  1. import paddle.fluid as fluid
  2. import numpy as np
  3. inputs = fluid.layers.data(name="x", shape=[2, 2], dtype="float32")
  4. output = fluid.layers.selu(inputs)
  5. exe = fluid.Executor(fluid.CPUPlace())
  6. exe.run(fluid.default_startup_program())
  7. img = np.array([[0, 1],[2, 3]]).astype(np.float32)
  8. res = exe.run(fluid.default_main_program(), feed={'x':img}, fetch_list=[output])
  9. print(res) # [array([[0. , 1.050701],[2.101402, 3.152103]], dtype=float32)]