Dropout3d

classtorch.nn.Dropout3d(p=0.5, inplace=False)[源代码]

随机将整个通道设置为零。

一个通道是一个3D特征图。例如,批量输入中第$i$个样本的第 $j$ 个通道是一个3D张量$\text{input}[i, j]$

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

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

正如论文Efficient Object Localization Using Convolutional Networks 中所述,如果特征图中的相邻像素高度相关(这通常发生在早期卷积层),独立同分布的 dropout 将不会对激活进行正则化,并且实际上会导致有效学习率下降。

在这种情况下,使用 nn.Dropout3d() 可以帮助促进特征图之间的独立性。

参数
  • p (float, 可选) – 控制元素被置零的概率。

  • inplace (bool, 可选) – 如果设置为 True,将以原地方式执行此操作

形状:
  • 输入格式为: $(N, C, D, H, W)$$(C, D, H, W)$

  • 输出: $(N, C, D, H, W)$$(C, D, H, W)$(与输入的形状相同)。

示例:

>>> m = nn.Dropout3d(p=0.2)
>>> input = torch.randn(20, 16, 4, 32, 32)
>>> output = m(input)
本页目录