Spec-Zone.ru › PyTorch 2.14

torch.triu_indices

torch.triu_indices(row, col, offset=0, *, dtype=torch.long, device='cpu', layout=torch.strided) → Tensor

Возвращает индексы верхней треугольной части матрицы размером row на col в тензоре размером 2 на N, где первая строка содержит координаты строк всех индексов, а вторая строка — координаты столбцов. Индексы упорядочены сначала по строкам, затем по столбцам.

Верхняя треугольная часть матрицы определяется как элементы на главной диагонали и выше неё.

Аргумент offset задаёт диагональ, которую следует учитывать. Если offset = 0, сохраняются все элементы на главной диагонали и выше неё. Положительное значение исключает такое же количество диагоналей над главной диагональю, а отрицательное значение включает такое же количество диагоналей под главной диагональю. Главная диагональ — это набор индексов {(i,i)}\lbrace (i, i) \rbrace для i∈[0,min⁡{d1,d2}−1]i \in [0, \min\{d_{1}, d_{2}\} - 1], где d1,d2d_{1}, d_{2} — размеры матрицы.

Примечание

При выполнении на CUDA значение row * col должно быть меньше 2592^{59}, чтобы предотвратить переполнение при вычислениях.

Параметры:
  • row (int) – количество строк в двумерной матрице.
  • col (int) – количество столбцов в двумерной матрице.
  • offset (int) – смещение диагонали относительно главной диагонали. По умолчанию: если не указано, 0.
Именованные аргументы:
  • dtype (torch.dtype, необязательный) – требуемый тип данных возвращаемого тензора; поддерживаются только torch.int, torch.long. По умолчанию: если None, torch.long.
  • device (torch.device, необязательный) – требуемое устройство для возвращаемого тензора. По умолчанию: если None, используется текущее устройство для типа тензора по умолчанию (см. torch.set_default_device()). device будет CPU для типов тензоров CPU и текущим устройством CUDA для типов тензоров CUDA.
  • layout (torch.layout, необязательный) – в настоящее время поддерживается только torch.strided.

Пример:

>>> a = torch.triu_indices(3, 3)
>>> a
tensor([[0, 0, 0, 1, 1, 2],
        [0, 1, 2, 1, 2, 2]])

>>> a = torch.triu_indices(4, 3, -1)
>>> a
tensor([[0, 0, 0, 1, 1, 1, 2, 2, 3],
        [0, 1, 2, 0, 1, 2, 1, 2, 2]])

>>> a = torch.triu_indices(4, 3, 1)
>>> a
tensor([[0, 0, 1],
        [1, 2, 2]])

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

Spec-Zone.ru

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