Spec-Zone.ru › PyTorch 2.14

torch.diagflat

torch.diagflat(input, offset=0) → Tensor
  • Если input — вектор (одномерный тензор), возвращает двумерный квадратный тензор, в котором элементы input расположены на диагонали.
  • Если input — тензор с более чем одним измерением, возвращает двумерный тензор, диагональные элементы которого равны элементам развёрнутого input.

Аргумент offset определяет, какую диагональ рассматривать:

  • Если offset = 0, рассматривается главная диагональ.
  • Если offset > 0, рассматривается диагональ выше главной.
  • Если offset < 0, рассматривается диагональ ниже главной.
Параметры:
  • input (Tensor) – входной тензор.
  • offset (int, необязательный) – диагональ для рассмотрения. По умолчанию: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API