mindspore.nn.PReLU =================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/nn/mindspore.nn.PReLU.rst :alt: 查看源文件 .. py:class:: mindspore.nn.PReLU(channel=1, w=0.25) 逐元素计算PReLU(PReLU Activation Operator)激活函数。 公式定义为: .. math:: PReLU(x_i)= \max(0, x_i) + w * \min(0, x_i), 其中 :math:`x_i` 是输入的Tensor。 这里 :math:`w` 是一个可学习的参数,默认初始值0.25。 当带参数调用时每个通道上学习一个 :math:`w` 。如果不带参数调用时,则将在所有通道中共享单个参数 :math:`w` 。 PReLU函数图: .. image:: ../images/PReLU.png :align: center 参数: - **channel** (int) - 可训练参数 :math:`w` 的数量。它可以是int,值是1或输入Tensor `x` 的通道数。默认值: ``1`` 。 - **w** (Union[float, list, Tensor]) - 参数的初始值。它可以是float、float组成的list或与输入Tensor `x` 具有相同数据类型的Tensor。默认值: ``0.25`` 。 输入: - **x** (Tensor) - PReLU的输入Tensor,其shape为 :math:`(N, *)` ,其中 :math:`*` 表示任意的额外维度,数据类型为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。