Función torch.diag_embed de PyTorch
Manual de referencia de torch de Pytorch
torch.diag_embedEs una función de PyTorch que se utiliza para incrustar el tensor de entrada como elementos de la diagonal en un nuevo tensor. Crea la diagonal en la última dimensión de la entrada.
Definición de la función
torch.diag_embed(input, diagonal=0, offset=0)
Descripción de parámetros:
input: tensor de entradadiagonal/offset: índice de la diagonal
Ejemplo de uso
Ejemplo
import torch
# Crear un tensor unidimensional
x = torch.tensor([1, 2, 3])
# Crear la incrustación diagonal
y = torch.diag_embed(x)
print(y)
# Crear un tensor unidimensional
x = torch.tensor([1, 2, 3])
# Crear la incrustación diagonal
y = torch.diag_embed(x)
print(y)
El resultado es:
tensor([[1, 0, 0],
[0, 2, 0],
[0, 0, 3]])
Ejemplo
import torch
# Crear un tensor bidimensional
x = torch.tensor([[1, 2], [3, 4]])
# Crear la incrustación diagonal
y = torch.diag_embed(x)
print(y.shape)
print(y)
# Crear un tensor bidimensional
x = torch.tensor([[1, 2], [3, 4]])
# Crear la incrustación diagonal
y = torch.diag_embed(x)
print(y.shape)
print(y)
El resultado es:
torch.Size([2, 2, 2])
tensor([[[1, 0],
[0, 2]],
[[3, 0],
[0, 4]]])
Otras extensiones