torch.tril_indices
-
torch.tril_indices(row, col, offset=0, *, dtype=torch.long, device='cpu', layout=torch.strided) → Tensor -
Возвращает индексы нижней треугольной части матрицы размером
rowнаcolв тензоре размером 2 на N, где первая строка содержит координаты строк всех индексов, а вторая строка — координаты столбцов. Индексы упорядочены сначала по строкам, затем по столбцам.Нижняя треугольная часть матрицы определяется как элементы на главной диагонали и ниже неё.
Аргумент
offsetопределяет, какие диагонали учитывать. Еслиoffset= 0, сохраняются все элементы на главной диагонали и ниже неё. Положительное значение включает столько же диагоналей над главной диагональю, а отрицательное значение исключает столько же диагоналей под главной диагональю. Главная диагональ — это набор индексов для , где — размеры матрицы.Примечание
При работе с CUDA значение
row * colдолжно быть меньше , чтобы избежать переполнения при вычислениях.- Параметры:
-
-
row (
int) – количество строк в двумерной матрице. -
col (
int) – количество столбцов в двумерной матрице. -
offset (
int) – смещение диагонали относительно главной диагонали. По умолчанию: если не указано, 0.
-
row (
- Именованные аргументы:
-
-
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.
-
dtype (
Пример:
>>> a = torch.tril_indices(3, 3) >>> a tensor([[0, 1, 1, 2, 2, 2], [0, 0, 1, 0, 1, 2]]) >>> a = torch.tril_indices(4, 3, -1) >>> a tensor([[1, 2, 2, 3, 3, 3], [0, 0, 1, 0, 1, 2]]) >>> a = torch.tril_indices(4, 3, 1) >>> a tensor([[0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3], [0, 1, 0, 1, 2, 0, 1, 2, 0, 1, 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.tril_indices.html