mindspore.ops.bernoulli
- mindspore.ops.bernoulli(x, p=0.5, seed=- 1)[source]
Randomly set the elements of output to 0 or 1 with the probability of P which follows the Bernoulli distribution.
\[out_{i} \sim Bernoulli(p_{i})\]- Parameters
x (Tensor) – Tensor of shape \((N,*)\) where \(*\) means, any number of additional dimensions. Data type must be int8, uint8, int16, int32, int64, bool, float32 or float64.
p (Union[Tensor, float], optional) – The shape of p need to be broadcast. Data type must be float32 or float64. The elements of p represent the probability of setting 1 for the corresponding broadcast position of the current Tensor. The value of p must be in the range [0, 1]. Default: 0.5.
seed (int, optional) – The seed value for random generating. The value of seed must be -1 or a positive integer. Default: -1, which means using the current timestamp.
- Returns
output (Tensor), with the same shape and type as x.
- Raises
TypeError – If dtype of x is not one of: int8, uint8, int16, int32, int64, bool, float32, float64.
TypeError – If dtype of p is not one of: float32, float64.
TypeError – If dtype of seed is not int.
ValueError – If p is not in range [0, 1].
ValueError – If seed is less than 0 and not -1.
- Supported Platforms:
GPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor >>> import mindspore.ops as ops >>> input_x = Tensor(np.array([1, 2, 3]), mindspore.int8) >>> output = ops.bernoulli(input_x, p=1.0) >>> print(output) [1 1 1] >>> input_p = Tensor(np.array([0.0, 1.0, 1.0]), mindspore.float32) >>> output = ops.bernoulli(input_x, input_p) >>> print(output) [0 1 1]