mindspore.ops.Dropout3D

class mindspore.ops.Dropout3D(keep_prob=0.5)[源代码]

随机丢弃层。

Dropout是一种正则化手段,通过在训练中以 \(1 - keep\_prob\) 的概率随机将神经元输出设置为0,起到减少神经元相关性的作用,避免过拟合。在推理过程中,此层返回与 x 相同的Tensor。对于shape为NCDHW的五维Tensor,通道特征图指的是shape为DHW的三维特征图。

例如,输入的批数据中第 \(i_th\) 个样本的第 \(j_th\) 个通道,则可三维Tensor input[i,j,k]。

Dropout3D可以提高feature map之间的独立性。

参数:

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

输入:

  • x (Tensor) - shape为 \((N, C, D, H, W)\) 的五维Tensor。N代表批次大小,C代表管道,D代表特征深度,H代表特征高度,W代表特征宽度。数据类型为int8、int16、int32、int64、float16或float32。

输出:

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

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

异常:

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

  • ValueError - keep_prob 超出[0.0, 1.0]范围,或者输入的维度不是5。

支持平台:

Ascend GPU

样例:

>>> dropout = ops.Dropout3D(keep_prob=0.5)
>>> x = Tensor(np.ones([2, 1, 2, 1, 2]), mindspore.float32)
>>> output, mask = dropout(x)
>>> print(output.shape)
(2, 1, 2, 1, 2)