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)
Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[0.55355281, 0.20714243, 0.01162981],
 [0.51577556, 0.36369765, 0.26091650]])

>>> out = paddle.bernoulli(x)
>>> print(out)
Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[1., 0., 1.],
 [0., 1., 0.]])

使用本API的教程文档