快捷方式

Dropout2d

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

随机将整个通道清零。

通道是一个二维特征图,例如,批处理输入中第 ii 个样本的第 jj 个通道是一个二维张量 input[i,j]\text{input}[i, j].

每个通道将在每次前向调用时以概率 p 独立地清零,使用伯努利分布的样本。

通常,输入来自 nn.Conv2d 模块。

如论文 Efficient Object Localization Using Convolutional Networks 中所述,如果特征图中相邻像素之间存在强相关性(在早期卷积层中通常如此),那么独立同分布的 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 的全面开发者文档

查看文档

教程

获取初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源