mindspore.ops.dropout3d

View Source On Gitee
mindspore.ops.dropout3d(input, p=0.5, training=True)[source]

During training, randomly zeroes some channels of the input tensor with probability p from a Bernoulli distribution(For a 5-dimensional tensor with a shape of \(NCDHW\), the channel feature map refers to a 3-dimensional feature map with a shape of \(DHW\)).

For example, the \(j\_th\) channel of the \(i\_th\) sample in the batched input is a to-be-processed 3D tensor input[i,j]. Each channel will be zeroed out independently on every forward call which based on Bernoulli distribution probability p.

dropout3d can improve the independence between channel feature maps.

Parameters
  • input (Tensor) – A 5D tensor with shape \((N, C, D, H, W)\), where N is the batch size, C is the number of channels, D is the feature depth, H is the feature height, and W is the feature width. The data type must be int8, int16, int32, int64, float16, float32 or float64.

  • p (float) – The dropping probability of a channel, between 0 and 1, e.g. p = 0.8, which means dropping out 80% of channels. Default: 0.5 .

  • training (bool) – If training is True, applying dropout, otherwise, not applying. Default: True .

Returns

Tensor, output, with the same shape and data type as input.

Raises
  • TypeError – If input is not a Tensor.

  • TypeError – If dtype of input is not int8, int16, int32, int64, float16, float32 or float64.

  • TypeError – If the data type of p is not float.

  • ValueError – If p is out of the range [0.0, 1.0].

  • ValueError – If input shape is not 5D.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input = Tensor(np.ones([2, 1, 2, 1, 2]), mindspore.float32)
>>> output = ops.dropout3d(input, 0.5)
>>> print(output.shape)
(2, 1, 2, 1, 2)