評價此頁

PReLU#

class torch.nn.modules.activation.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 時,則沒有通道維度,通道數為 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)
extra_repr()[原始碼]#

返回模組的額外表示。

返回型別

str

forward(input)[原始碼]#

執行前向傳播。

返回型別

張量

reset_parameters()[原始碼]#

根據 __init__ 中使用的初始化重置引數。