Функция torch.diag_embed в PyTorch
Справочное руководство 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)
# Создать одномерный тензор
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)
# Создать двумерный тензор
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]]])
Другие расширения