Функция torch.diag_embed в PyTorch


Pytorch torch 参考手册Справочное руководство Pytorch torch

torch.diag_embedявляется функцией в PyTorch, используемой для встраивания входного тензора в качестве диагональных элементов в новый тензор. Она создаёт диагональ в последнем измерении входного тензора.

Определение функции

torch.diag_embed(input, diagonal=0, offset=0)

Описание параметров:

  • input: входной тензор
  • diagonal/offset: индекс диагонали

Примеры использования

Пример

import torch

# Создать одномерный тензор
x = torch.tensor([1, 2, 3])

# Создать диагональное вложение
y = torch.diag_embed(x)
print(y)

Вывод:

tensor([[1, 0, 0],
        [0, 2, 0],
        [0, 0, 3]])

Пример

import torch

# Создать двумерный тензор
x = torch.tensor([[1, 2], [3, 4]])

# Создать диагональное вложение
y = torch.diag_embed(x)
print(y.shape)
print(y)

Вывод:

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

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

Pytorch torch 参考手册Справочное руководство Pytorch torch

Другие расширения