Función PyTorch torch.diagonal


Pytorch torch 参考手册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 entrada
  • diagonal: índice de la diagonal; 0 indica la diagonal principal
  • dim1: primera dimensión
  • dim2: 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)

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)

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)

El resultado es:

torch.Size([2, 3])
tensor([[ 0,  5, 10],
        [12, 17, 22]])

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

Otras extensiones