torch.Tensor.fill_diagonal_
-
Tensor.fill_diagonal_(fill_value, wrap=False) → Tensor -
Заполняет главную диагональ тензора, имеющего не менее двух измерений. Если dims>2, все измерения входного тензора должны иметь одинаковую длину. Эта функция изменяет входной тензор на месте и возвращает его.
- Параметры:
-
- fill_value (Scalar) – значение для заполнения
-
wrap (bool, необязательно) – диагональ «переносится» после N столбцов для высоких матриц. Значение по умолчанию:
False
Пример:
>>> a = torch.zeros(3, 3) >>> a.fill_diagonal_(5) tensor([[5., 0., 0.], [0., 5., 0.], [0., 0., 5.]]) >>> b = torch.zeros(7, 3) >>> b.fill_diagonal_(5) tensor([[5., 0., 0.], [0., 5., 0.], [0., 0., 5.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) >>> c = torch.zeros(7, 3) >>> c.fill_diagonal_(5, wrap=True) tensor([[5., 0., 0.], [0., 5., 0.], [0., 0., 5.], [0., 0., 0.], [5., 0., 0.], [0., 5., 0.], [0., 0., 5.]])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.Tensor.fill_diagonal_.html