评价此页

torch.Tensor.fill_diagonal_#

Tensor.fill_diagonal_(fill_value, wrap=False) Tensor#

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

参数
  • fill_value (Scalar) – 填充值

  • wrap (bool, optional) – 对于高矩阵,对角线在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.]])