mindspore.mint.bernoulli

View Source On Gitee
mindspore.mint.bernoulli(input, *, generator=None)[source]

Sample from the Bernoulli distribution and randomly set the i^{th} element of the output to (0 or 1) according to the i^{th} probability value given in the input.

\[output_{i} \sim Bernoulli(p=input_{i})\]

Warning

This is an experimental API that is subject to change or deletion.

Parameters

input (Tensor) – The input tensor of Bernoulli distribution, where the i^{th} element 'input_{i}' represents the probability that the corresponding output element 'output_{i}' is set to '1', therefore each element in 'input' have to be in the range '[0,1]'. Supported dtype: float16, float32, float64, bfloat16 (only supported by Atlas A2 training series products).

Keyword Arguments

generator (mindspore.Generator, optional) – a pseudorandom number generator. Default: None, uses the default pseudorandom number generator.

Returns

The output tensor, with the same shape and dtype as input.

Return type

output (Tensor)

Raises
  • TypeError – If dtype of input is not one of: float16, float32, float64, bfloat16.

  • ValueError – If any element of the input is not in the range [0, 1].

Supported Platforms:

Ascend

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore import mint
>>> input_x = Tensor(np.ones((3, 3)), mindspore.float32)
>>> output = mint.bernoulli(input_x)
>>> print(output)
[[ 1. 1. 1.]
 [ 1. 1. 1.]
 [ 1. 1. 1.]]
>>> input_x = Tensor(np.zeros((3, 3)), mindspore.float32)
>>> output = mint.bernoulli(input_x)
>>> print(output)
[[ 0. 0. 0.]
 [ 0. 0. 0.]
 [ 0. 0. 0.]]