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.  
  4. inputs = fluid.layers.data(name="x", shape=[2, 2], dtype="float32")
  5. output = fluid.layers.selu(inputs)
  6.  
  7. exe = fluid.Executor(fluid.CPUPlace())
  8. exe.run(fluid.default_startup_program())
  9.  
  10. img = np.array([[0, 1],[2, 3]]).astype(np.float32)
  11.  
  12. res = exe.run(fluid.default_main_program(), feed={'x':img}, fetch_list=[output])
  13. print(res) # [array([[0. , 1.050701],[2.101402, 3.152103]], dtype=float32)]