快捷方式

PReLU

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

应用逐元素 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 时,则没有通道维度,通道数为 1。

参数
  • num_parameters (int) – 要学习的 aa 的数量。虽然它接受 int 作为输入,但只有两个值是合法的: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 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源