所以我正在阅读 pytorch 文档,试图学习和理解一些东西(因为我是机器学习的新手),我发现torch.bernoulli()
并且我理解(我想念它)它近似于值介于 1 和0 到 1 或 0 取决于值(如经典学校小于 0.5 = 0 ,大于或等于 0.5 = 1)
经过我自己的一些实验,是的,它按预期工作
>>>y = torch.Tensor([0.500])
>>>x
>>> 0.5000
[torch.FloatTensor of size 1]
>>> torch.bernoulli(x)
>>> 1
[torch.FloatTensor of size 1]
但是当我查看文档时,有些奇怪
>>> a = torch.Tensor(3, 3).uniform_(0, 1) # generate a uniform random matrix with range [0, 1]
>>> a
0.7544 0.8140 0.9842
**0.5282** 0.0595 0.6445
0.1925 0.9553 0.9732
[torch.FloatTensor of size 3x3]
>>> torch.bernoulli(a)
1 1 1
**0** 0 1
0 1 1
[torch.FloatTensor of size 3x3]
在示例中0.5282近似为 0 ,这是怎么发生的?或者它是文档中的一个错误,因为我尝试了它并且0.5282按预期近似为 1。