Spec-Zone.ru › PyTorch 2.14

torch.combinations

torch.combinations(input: Tensor, r: int = 2, with_replacement: bool = False) → seq

Вычисляет сочетания длины rr для заданного тензора. Поведение аналогично itertools.combinations в Python, когда with_replacement установлено в False, и itertools.combinations_with_replacement, когда with_replacement установлено в True.

Параметры:
  • input (Tensor) – вектор размерности 1.
  • r (int, необязательно) – количество элементов в сочетании
  • with_replacement (bool, необязательно) – разрешить ли повторение элементов в сочетании
Возвращает:

Тензор, эквивалентный преобразованию всех входных тензоров в списки, применению itertools.combinations или itertools.combinations_with_replacement к этим спискам и последующему преобразованию полученного списка в тензор.

Тип возвращаемого значения:

Tensor

Пример:

>>> a = [1, 2, 3]
>>> list(itertools.combinations(a, r=2))
[(1, 2), (1, 3), (2, 3)]
>>> list(itertools.combinations(a, r=3))
[(1, 2, 3)]
>>> list(itertools.combinations_with_replacement(a, r=2))
[(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]
>>> tensor_a = torch.tensor(a)
>>> torch.combinations(tensor_a)
tensor([[1, 2],
        [1, 3],
        [2, 3]])
>>> torch.combinations(tensor_a, r=3)
tensor([[1, 2, 3]])
>>> torch.combinations(tensor_a, with_replacement=True)
tensor([[1, 1],
        [1, 2],
        [1, 3],
        [2, 2],
        [2, 3],
        [3, 3]])

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

Spec-Zone.ru

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