mindspore.ops.Dropout
- class mindspore.ops.Dropout(keep_prob=0.5, Seed0=0, Seed1=0)[source]
During training, randomly zeroes some of the elements of the input tensor with probability \(1 - keep\_prob\) from a Bernoulli distribution. It plays the role of reducing neuron correlation and avoid overfitting.
Warning
After version 2.9.0, the seed argument will be removed and an inplace keyword argument will be added.
The Ascend backend does not support the reproducibility of random numbers, so the Seed0 and Seed1 parameter have no effect.
Refer to
mindspore.ops.dropout()for more details.- Parameters
- Inputs:
x (Tensor) - The input Tensor of shape \((*, N)\), with data type of float16, float32 or float64.
- Outputs:
output (Tensor) - With the same shape and data type as x.
mask (Tensor) - The mask applied to x.
On GPU and CPU, mask has the same shape and data type as x.
On Ascend, to achieve a better performance, it is denoted as a 1-D Tensor with Uint8 data type. It has shape \((byte\_counts, )\) where \(byte\_counts\) is the number of bytes needed to mask the input x, \(byte\_counts\) is calculated using the following formula:
\[byte\_counts = \text{ceil}(\text{cumprod}(x.shape) / 128) * 16\]If shape of x is \((2, 3, 4, 5, 6)\), the shape of mask will be \((96, )\).
- Supported Platforms:
AscendGPUCPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> dropout = ops.Dropout(keep_prob=0.5) >>> x = Tensor(np.ones([1, 2, 3, 4, 5]), mindspore.float32) >>> output, mask = dropout(x) >>> print(output.shape, mask.shape, mask.dtype) (1, 2, 3, 4, 5) (16,) UInt8