bernoulli

paddle. bernoulli ( x, name=None ) [源代码]

对输入 x 的每一个元素 \(x_i\),从以 \(x_i\) 为参数的伯努利分布(又名两点分布或者 0-1 分布)中抽取一个样本。以 \(x_i\) 为参数的伯努利分布的概率密度函数是

\[\begin{split}p(y)=\begin{cases} x_i,&y=1\\\\ 1-x_i,&y=0 \end{cases}.\end{split}\]

参数

  • x (Tensor) - 输入的 Tensor,数据类型为 float32、float64、int32 或 int64。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,由伯努利分布中的样本组成的 Tensor,形状和数据类型与输入 x 相同。

代码示例

import paddle

paddle.set_device('cpu')  # on CPU device
paddle.seed(100)

x = paddle.rand([2,3])
print(x)
# [[0.55355281, 0.20714243, 0.01162981],
#  [0.51577556, 0.36369765, 0.26091650]]

out = paddle.bernoulli(x)
print(out)
# [[1., 0., 1.],
#  [0., 1., 0.]]