PRelu

class paddle.fluid.dygraph.PRelu(name_scope, mode, param_attr=None)[源代码]

该接口用于构建 PRelu 类的一个可调用对象,具体用法参照 代码示例 。其中实现了 PRelu 激活函数的三种激活方式。

计算公式如下:

\[y = max(0, x) + \alpha min(0, x)\]
参数:
  • name_scope (str) - 该类的名称。

  • mode (str) - 权重共享模式。共提供三种激活方式:

    all:所有元素使用同一个 :math:`[\alpha]` 值
    channel:在同一个通道中的元素使用同一个 :math:`[\alpha]` 值
    element:每一个元素有一个独立的 :math:`[\alpha]` 值
    
  • param_attr (ParamAttr, 可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 ParamAttr

返回:无

代码示例:

import paddle.fluid as fluid
from paddle.fluid.dygraph.base import to_variable
import numpy as np

inp_np = np.ones([5, 200, 100, 100]).astype('float32')
with fluid.dygraph.guard():
    inp_np = to_variable(inp_np)
    mode = 'channel'
    prelu = fluid.PRelu('prelu', mode=mode, param_attr=fluid.ParamAttr(initializer=fluid.initializer.Constant(1.0)))
    dy_rlt = prelu(inp_np)

属性

weight

本层的可学习参数,类型为 Parameter