mindspore.ops.prelu

查看源文件
mindspore.ops.prelu(input, weight)[源代码]

带参数的线性修正单元激活函数(Parametric Rectified Linear Unit activation function)。

Delving Deep into Rectifiers:Surpassing Human-Level Performance on ImageNet Classification 描述了PReLU激活函数。定义如下:

\[prelu(x_i)= \max(0, x_i) + \min(0, w * x_i),\]

其中 \(x_i\) 是输入的一个通道的一个元素,w 是通道权重。

PReLU函数图:

../../_images/PReLU2.png

说明

通道数是输入的第二个维度值。当输入的维度小于2时,则没有通道维度并且通道数等于1。

参数:
  • input (Tensor) - 激活函数的输入Tensor。

  • weight (Tensor) - 权重Tensor。它的大小是1或者输入Tensor input 的通道数。

返回:

Tensor,其shape和数据类型与 input 相同。 有关详细信息,请参考 mindspore.mint.nn.PReLU

异常:
  • TypeError - inputweight 不是Tensor。

  • ValueError - weight 不是0-D或1-DTensor。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.arange(-6, 6).reshape((2, 3, 2)), mindspore.float32)
>>> weight = Tensor(np.array([0.1, 0.6, -0.3]), mindspore.float32)
>>> output = ops.prelu(x, weight)
>>> print(output)
[[[-0.60 -0.50]
  [-2.40 -1.80]
  [ 0.60  0.30]]
 [[ 0.00  1.00]
  [ 2.00  3.00]
  [ 4.0   5.00]]]