Spec-Zone.ru › PyTorch 2.14

torch.bernoulli

torch.bernoulli(input: Tensor, *, generator: Generator | None, out: Tensor | None) → Tensor

Генерирует двоичные случайные числа (0 или 1) из распределения Бернулли.

Тензор input должен содержать вероятности, используемые для генерации двоичного случайного числа. Следовательно, все значения в input должны находиться в диапазоне: 0≤inputi≤10 \leq \text{input}_i \leq 1.

Элемент выходного тензора с индексом ith\text{i}^{th} будет принимать значение 11 в соответствии с вероятностью для элемента с индексом ith\text{i}^{th}, заданной в input.

outi∼Bernoulli(p=inputi)\text{out}_{i} \sim \mathrm{Bernoulli}(p = \text{input}_{i})

Возвращаемый тензор out содержит только значения 0 или 1 и имеет ту же форму, что и input.

out может иметь целочисленный тип dtype, но input должен иметь тип с плавающей точкой dtype.

Параметры:

input (Tensor) – входной тензор значений вероятности для распределения Бернулли

Именованные аргументы:
  • generator (torch.Generator, optional) – генератор псевдослучайных чисел для выборки
  • out (Tensor, optional) – выходной тензор.

Пример:

>>> 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.]])

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.bernoulli.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API