torch.diagflat
-
torch.diagflat(input, offset=0) → Tensor -
- Если
input— вектор (одномерный тензор), возвращает двумерный квадратный тензор, в котором элементыinputрасположены на диагонали. - Если
input— тензор с более чем одним измерением, возвращает двумерный тензор, диагональные элементы которого равны элементам развёрнутогоinput.
Аргумент
offsetопределяет, какую диагональ рассматривать:- Если
offset= 0, рассматривается главная диагональ. - Если
offset> 0, рассматривается диагональ выше главной. - Если
offset< 0, рассматривается диагональ ниже главной.
- Параметры:
Примеры:
>>> a = torch.randn(3) >>> a tensor([-0.2956, -0.9068, 0.1695]) >>> torch.diagflat(a) tensor([[-0.2956, 0.0000, 0.0000], [ 0.0000, -0.9068, 0.0000], [ 0.0000, 0.0000, 0.1695]]) >>> torch.diagflat(a, 1) tensor([[ 0.0000, -0.2956, 0.0000, 0.0000], [ 0.0000, 0.0000, -0.9068, 0.0000], [ 0.0000, 0.0000, 0.0000, 0.1695], [ 0.0000, 0.0000, 0.0000, 0.0000]]) >>> a = torch.randn(2, 2) >>> a tensor([[ 0.2094, -0.3018], [-0.1516, 1.9342]]) >>> torch.diagflat(a) tensor([[ 0.2094, 0.0000, 0.0000, 0.0000], [ 0.0000, -0.3018, 0.0000, 0.0000], [ 0.0000, 0.0000, -0.1516, 0.0000], [ 0.0000, 0.0000, 0.0000, 1.9342]]) - Если
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.diagflat.html