mindspore.ops.Dropout2D

查看源文件
class mindspore.ops.Dropout2D(keep_prob=0.5)[源代码]

在训练期间,根据概率 \(1-keep\_prob\) ,随机地将一些通道设置为0,且服从伯努利分布。(对于shape为 \((N, C, H, W)\) 的四维Tensor,通道特征图指的是shape为 \((H, W)\) 的二维特征图。)

Dropout2D 可以提高通道特征图之间的独立性。

说明

保持概率 \(keep\_prob\) 等于 mindspore.ops.dropout2d() 中的 \(1 - p\)

参数:
  • keep_prob (float,可选) - 输入通道保留率,数值范围在0到1之间,例如 keep_prob = 0.8,意味着过滤20%的通道。默认值: 0.5

输入:
  • x (Tensor) - shape为 \((N, C, H, W)\) 的四维张量,其中N是批处理,C是通道数,H是特征高度,W是特征宽度。

输出:
  • output (Tensor) - shape和数据类型与 x 相同。

  • mask (Tensor) - shape与 x 相同,数据类型为bool。

异常:
  • TypeError - x 不是Tensor。

  • TypeError - keep_prob 的数据类型不是float。

  • ValueError - keep_prob 值不在 [0.0,1.0] 之间。

  • ValueError - x 的维度不等于4。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> dropout = ops.Dropout2D(keep_prob=0.5)
>>> x = Tensor(np.ones([2, 1, 2, 3]), mindspore.float32)
>>> output, mask = dropout(x)
>>> print(output.shape)
(2, 1, 2, 3)