Función PyTorch torch.triu_indices


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.triu_indicesEs una función en PyTorch utilizada para generar los índices de una matriz triangular superior. Devuelve los índices de fila y columna de la parte triangular superior (incluida la diagonal).

Definición de la función

torch.triu_indices(row, column, offset=0, dtype=torch.long, device='cpu')

Descripción de parámetros:

  • row: número de filas
  • column: número de columnas
  • offset: offset de la diagonal
  • dtype: tipo de datos devuelto
  • device: dispositivo

Ejemplo de uso

Ejemplo

import torch

# Generar los índices triangulares superiores de una matriz 3x3
row, col = torch.triu_indices(3, 3)
print("row:", row)
print("col:", col)

El resultado de salida es:

row: tensor([0, 0, 0, 1, 1, 2])
col: tensor([0, 1, 2, 1, 2, 2])

Ejemplo

import torch

# Generar índices y usarlos para operaciones de indexación
row, col = torch.triu_indices(3, 3, offset=1)

# Crear una matriz 3x3
a = torch.ones(3, 3)

# Usar los índices para establecer la parte triangular superior
a[row, col] = 0
print(a)

El resultado de salida es:

tensor([[1., 1., 1.],
        [0., 1., 1.],
        [0., 0., 1.]])

Ejemplo

import torch

# Caso de matriz no cuadrada
row, col = torch.triu_indices(3, 4)
print("row:", row)
print("col:", col)

El resultado de salida es:

row: tensor([0, 0, 0, 1, 1, 2])
col: tensor([0, 1, 2, 1, 2, 2])

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones