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


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

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

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

torch.block_diag(*tensors)

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

Пример

import torch

# Создать блочно-диагональную матрицу
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6, 7]])
c = torch.tensor([[8], [9]])

result = torch.block_diag(a, b, c)
print("Блочно-диагональная матрица:")
print(result)
# tensor([[1, 2, 0, 0, 0],
#         [3, 4, 0, 0, 0],
#         [0, 0, 5, 6, 7],
#         [0, 0, 8, 0, 0],
#         [0, 0, 9, 0, 0]])

# Несколько матричных блоков
m1 = torch.eye(2)
m2 = torch.eye(3)
result2 = torch.block_diag(m1, m2)
print("Блочно-диагональная матрица из двух единичных матриц:")
print(result2)

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

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