Функция torch.triu_indices в PyTorch


Pytorch torch 参考手册Справочное руководство 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)

Вывод:

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)

Вывод:

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: tensor([0, 0, 0, 1, 1, 2])
col: tensor([0, 1, 2, 1, 2, 2])

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения