Función torch.diag_embed de PyTorch


Pytorch torch 参考手册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 entrada
  • diagonal/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)

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)

El resultado es:

torch.Size([2, 2, 2])
tensor([[[1, 0],
         [0, 2]],

        [[3, 0],
         [0, 4]]])

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

Otras extensiones