Shortcuts

torch.Tensor.fill_diagonal_

Tensor.fill_diagonal_(fill_value, wrap=False) 张量

填充至少具有2个维度的张量的主对角线。 当维度大于2时,输入的所有维度必须具有相等的长度。 此函数在原地修改输入张量,并返回输入张量。

Parameters
  • 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.]])
优云智算