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