Spec-Zone.ru › PyTorch 2.14

torch.diagonal_scatter

torch.diagonal_scatter(input, src, offset=0, dim1=0, dim2=1) → Tensor

Вставляет значения тензора src в input вдоль диагональных элементов input относительно dim1 и dim2.

Эта функция возвращает тензор с новым хранилищем данных; она не возвращает представление.

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

  • Если offset = 0, используется главная диагональ.
  • Если offset > 0, используется диагональ выше главной.
  • Если offset < 0, используется диагональ ниже главной.
Параметры:
  • input (Tensor) – входной тензор. Должен иметь не менее двух измерений.
  • src (Tensor) – тензор, который нужно вставить в input.
  • offset (int, необязательный) – какую диагональ использовать. По умолчанию: 0 (главная диагональ).
  • dim1 (int, необязательный) – первое измерение, относительно которого берётся диагональ. По умолчанию: 0.
  • dim2 (int, необязательный) – второе измерение, относительно которого берётся диагональ. По умолчанию: 1.

Примечание

src должен иметь подходящий размер, чтобы его можно было вставить в input. В частности, он должен иметь ту же форму, что и torch.diagonal(input, offset, dim1, dim2)

Примеры:

>>> a = torch.zeros(3, 3)
>>> a
tensor([[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]])

>>> torch.diagonal_scatter(a, torch.ones(3), 0)
tensor([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])

>>> torch.diagonal_scatter(a, torch.ones(2), 1)
tensor([[0., 1., 0.],
        [0., 0., 1.],
        [0., 0., 0.]])

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.diagonal_scatter.html

Spec-Zone.ru

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