torch.Tensor.fill_diagonal_

Tensor.fill_diagonal_(fill_value, wrap=False) Tensor

填充一个至少具有二维的张量的主要对角线。如果维度大于2,则所有维度的长度必须相等。该函数会直接修改并返回输入张量。

参数
  • fill_value (标量) – 用于填充的值

  • wrap (bool) – 对于高矩阵,对角线在达到 N 列后进行循环。

示例:

>>> 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.]])
本页目录