Función PyTorch torch.diagonal
Manual de referencia de Pytorch torch
torch.diagonalEs una función en PyTorch que se utiliza para extraer los elementos de la diagonal de un tensor. Devuelve una vista de la diagonal especificada del tensor de entrada.
Definición de la función
torch.diagonal(input, diagonal=0, dim1=0, dim2=1)
Descripción de parámetros:
input: tensor de entradadiagonal: índice de la diagonal; 0 indica la diagonal principaldim1: primera dimensióndim2: segunda dimensión
Ejemplo de uso
Ejemplo
import torch
# Crear una matriz de 3x3
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extraer la diagonal principal
y = torch.diagonal(x)
print(y)
# Crear una matriz de 3x3
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extraer la diagonal principal
y = torch.diagonal(x)
print(y)
El resultado es:
tensor([1, 5, 9])
Ejemplo
import torch
# Crear una matriz de 3x3
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extraer la diagonal por encima de la principal
y = torch.diagonal(x, offset=1)
print(y)
# Crear una matriz de 3x3
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extraer la diagonal por encima de la principal
y = torch.diagonal(x, offset=1)
print(y)
El resultado es:
tensor([2, 6])
Ejemplo
import torch
# Crear un tensor 3D
x = torch.arange(12).reshape(2, 3, 4)
# Extraer la diagonal de la dimensión especificada
y = torch.diagonal(x, offset=0, dim1=1, dim2=2)
print(y.shape)
print(y)
# Crear un tensor 3D
x = torch.arange(12).reshape(2, 3, 4)
# Extraer la diagonal de la dimensión especificada
y = torch.diagonal(x, offset=0, dim1=1, dim2=2)
print(y.shape)
print(y)
El resultado es:
torch.Size([2, 3])
tensor([[ 0, 5, 10],
[12, 17, 22]])
Otras extensiones