功能解释
*
torch.bernoulli(input,
, generator=None, out=None) → Tensor
从伯努利分布中提取二进制随机数(0或1),输入张量应为包含用于绘制二进制随机数的概率的张量。因此,输入中的所有值都必须在以下范围内(0,1)。
第i个元素的输出tensor将要根据输入的第i个概率值,来决定是否生成1值。
输出tensor仅仅只有0或1值,并且其形状和输入的Input的形状是一样的。
输出out可以是一个整型类型,但是输入必须是浮点型数据类型。
参数
input (Tensor)-对于伯努利分布的输入概率值。
generator (torch.Generator, optional) –为了采样,一个伪随机数生成器。
out(Tensor, optional) –输出的tensor。
代码示例
这里是代码实现部分
>>> a = torch.empty(3, 3).uniform_(0, 1) # generate a uniform random matrix with range [0, 1]
>>> a
tensor([[ 0.1737, 0.0950, 0.3609],
[ 0.7148, 0.0289, 0.2676],
[ 0.9456, 0.8937, 0.7202]])
>>> torch.bernoulli(a)
tensor([[ 1., 0., 0.],
[ 0., 0., 0.],
[ 1., 1., 1.]])
>>> a = torch.ones(3, 3) # probability of drawing "1" is 1
>>> torch.bernoulli(a)
tensor([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]])
>>> a = torch.zeros(3, 3) # probability of drawing "1" is 0
>>> torch.bernoulli(a)
tensor([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
版权声明:本文为qq_37681364原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。