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.
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:
Ascend
GPU
CPU
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