mindspore.ops.bernoulli
- mindspore.ops.bernoulli(input, p=0.5, seed=None)[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
input (Tensor) – Input Tensor. Data type must be int8, uint8, int16, int32, int64, bool, float32 or float64.
p (Union[Tensor, float], optional) – Success probability, representing the probability of setting 1 for the corresponding position of the current Tensor. It has the same shape as input, the value of p must be in the range [0, 1]. Default:
0.5
.seed (Union[int, None], optional) – The seed value for random generating. The value of seed must be a positive integer. Default:
None
, means using the current timestamp.
- Returns
output (Tensor), with the same shape and type as input .
- Raises
TypeError – If dtype of input 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 or None.
ValueError – If p is not in range [0, 1].
ValueError – If seed is less than 0.
ValueError – If p is a Tensor but has different shape than input.
- Supported Platforms:
GPU
CPU
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]