Функция torch.tril_indices в PyTorch
Справочное руководство PyTorch torch
torch.tril_indicesЭто функция в PyTorch, используемая для генерации индексов нижней треугольной матрицы. Она возвращает индексы строк и индексы столбцов нижней треугольной части (включая диагональ).
Определение функции
torch.tril_indices(row, column, offset=0, dtype=torch.long, device='cpu')
Описание параметров:
row: Количество строкcolumn: Количество столбцовoffset: Смещение диагоналиdtype: Тип данных возвращаемого значенияdevice: Устройство
Пример использования
Пример
import torch
# Сгенерировать индексы нижней треугольной части для матрицы 3x3
row, col = torch.tril_indices(3, 3)
print("row:", row)
print("col:", col)
# Сгенерировать индексы нижней треугольной части для матрицы 3x3
row, col = torch.tril_indices(3, 3)
print("row:", row)
print("col:", col)
Результат вывода:
row: tensor([0, 1, 1, 2, 2, 2]) col: tensor([0, 0, 1, 0, 1, 2])
Пример
import torch
# Сгенерировать индексы и использовать их для операций индексирования
row, col = torch.tril_indices(3, 3, offset=1)
# Создать матрицу 3x3
a = torch.ones(3, 3)
# Использовать индексы для задания нижней треугольной части
a[row, col] = 0
print(a)
# Сгенерировать индексы и использовать их для операций индексирования
row, col = torch.tril_indices(3, 3, offset=1)
# Создать матрицу 3x3
a = torch.ones(3, 3)
# Использовать индексы для задания нижней треугольной части
a[row, col] = 0
print(a)
Результат вывода:
tensor([[1., 0., 0.],
[1., 1., 0.],
[1., 1., 1.]])
Пример
import torch
# Случай неквадратной матрицы
row, col = torch.tril_indices(3, 4)
print("row:", row)
print("col:", col)
# Случай неквадратной матрицы
row, col = torch.tril_indices(3, 4)
print("row:", row)
print("col:", col)
Результат вывода:
row: tensor([0, 1, 1, 2, 2, 2]) col: tensor([0, 0, 1, 0, 1, 2])
Другие расширения