快捷方式

PReLU

class torch.nn.PReLU(num_parameters=1, init=0.25, device=None, dtype=None)[源][源]

应用逐元素的 PReLU 函数。

PReLU(x)=max(0,x)+amin(0,x)\text{PReLU}(x) = \max(0,x) + a * \min(0,x)

PReLU(x)={x, if x0ax, otherwise \text{PReLU}(x) = \begin{cases} x, & \text{ if } x \ge 0 \\ ax, & \text{ otherwise } \end{cases}

这里 aa 是一个可学习参数。当不带参数调用时,nn.PReLU() 在所有输入通道上使用一个单一参数 aa。如果带参数 nn.PReLU(nChannels) 调用,则为每个输入通道使用一个独立的 aa

注意

为了获得良好的性能,学习 aa 时不应使用权重衰减。

注意

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

参数
  • num_parameters (int) – 要学习的 aa 参数数量。虽然输入是一个整数,但只有两个合法值:1 或输入通道数。默认值:1

  • init (float) – aa 的初始值。默认值:0.25

形状
  • 输入:()( *) 其中 * 表示任意数量的额外维度。

  • 输出:()(*),与输入形状相同。

变量

weight (Tensor) – 形状为 (num_parameters) 的可学习权重。

../_images/PReLU.png

示例

>>> m = nn.PReLU()
>>> input = torch.randn(2)
>>> output = m(input)

文档

访问 PyTorch 的完整开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源