prelu¶
prelu 激活层(PRelu Activation Operator)。计算公式如下:
\[prelu(x) = max(0, x) + weight * min(0, x)\]
其中,\(x\) 和 weight 为输入的 Tensor
参数¶
x (Tensor) - 输入的
Tensor
,数据类型为:float32、float64。weight (Tensor) - 可训练参数,数据类型同``x`` 一致,形状支持:[]、[1] 或者 [in],其中`in`为输入的通道数。
data_format (str,可选) – 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是 "NC", "NCL", "NCHW", "NCDHW", "NLC", "NHWC" 或者 "NDHWC"。默认值:"NCHW"。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor
,数据类型和形状同x
一致。
代码示例¶
import paddle
import paddle.nn.functional as F
data = paddle.to_tensor([[[[-2.0, 3.0, -4.0, 5.0],
[ 3.0, -4.0, 5.0, -6.0],
[-7.0, -8.0, 8.0, 9.0]],
[[ 1.0, -2.0, -3.0, 4.0],
[-5.0, 6.0, 7.0, -8.0],
[ 6.0, 7.0, 8.0, 9.0]]]], dtype='float32')
w = paddle.to_tensor([0.25], dtype='float32')
out = F.prelu(data, w)
print(out)
# [[[[-0.5 , 3. , -1. , 5. ],
# [ 3. , -1. , 5. , -1.5 ],
# [-1.75, -2. , 8. , 9. ]],
# [[ 1. , -0.5 , -0.75, 4. ],
# [-1.25, 6. , 7. , -2. ],
# [ 6. , 7. , 8. , 9. ]]]]