mindspore.nn.PReLU
- class mindspore.nn.PReLU(channel=1, w=0.25)[源代码]
逐元素计算PReLU(PReLU Activation Operator)激活函数。
公式定义为:
其中
是输入的Tensor。这里
是一个可学习的参数,默认初始值0.25。当带参数调用时每个通道上学习一个
。如果不带参数调用时,则将在所有通道中共享单个参数 。PReLU函数图:
- 参数:
channel (int) - 可训练参数
的数量。它可以是int,值是1或输入Tensor x 的通道数。默认值:1
。w (Union[float, list, Tensor]) - 参数的初始值。它可以是float、float组成的list或与输入Tensor x 具有相同数据类型的Tensor。默认值:
0.25
。
- 输入:
x (Tensor) - PReLU的输入Tensor,其shape为
,其中 表示任意的额外维度,数据类型为float16或float32。
- 输出:
Tensor,数据类型和shape与 x 相同。
- 异常:
TypeError - channel 不是int。
TypeError - w 不是float、float组成的list或float Tensor。
TypeError - x 的数据类型既不是float16也不是float32。
ValueError - x 是Ascend上的0-D或1-D Tensor。
ValueError - channel 小于1。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> from mindspore import Tensor, nn >>> import numpy as np >>> x = Tensor(np.array([[[[0.1, 0.6], [0.9, 0.9]]]]), mindspore.float32) >>> prelu = nn.PReLU() >>> output = prelu(x) >>> print(output) [[[[0.1 0.6] [0.9 0.9]]]]