快捷方式

Dropout2d

class torch.nn.Dropout2d(p=0.5, inplace=False)[來源][來源]

隨機地將整個通道置零。

通道是一個二維特徵圖,例如,批處理輸入中第 ii 個樣本的第 jj 個通道是一個二維張量 input[i,j]\text{input}[i, j]

每次前向傳播時,每個通道都會根據伯努利分佈獨立地以機率 p 被置零。

通常輸入來自 nn.Conv2d 模組。

正如論文 Efficient Object Localization Using Convolutional Networks 中所述,如果特徵圖中的相鄰畫素強相關(卷積層早期通常是這種情況),那麼 i.i.d. dropout 將無法規範化啟用,而只會導致有效學習率降低。

在這種情況下,nn.Dropout2d() 將有助於促進特徵圖之間的獨立性,應該改用它。

引數
  • p (float, 可選) – 元素被置零的機率。

  • inplace (bool, 可選) – 如果設定為 True,則此操作將原地執行。

警告

由於歷史原因,此類將對 3D 輸入執行 1D 通道 Dropout(與 nn.Dropout1d 所做的一樣)。因此,它目前不支援形狀為 (C,H,W)(C, H, W) 的無批次維度輸入。在未來的版本中,此行為將改變,以將 3D 輸入解釋為無批次維度輸入。要保持舊的行為,請改用 nn.Dropout1d

形狀
  • 輸入: (N,C,H,W)(N, C, H, W)(N,C,L)(N, C, L)

  • 輸出: (N,C,H,W)(N, C, H, W)(N,C,L)(N, C, L) (與輸入形狀相同)。

示例

>>> m = nn.Dropout2d(p=0.2)
>>> input = torch.randn(20, 16, 32, 32)
>>> output = m(input)

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

獲取適合初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源