评价此页

torch.Tensor.fill_diagonal_#

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

用给定的值填充张量的对角线。当 dims>2 时,输入的所有维度必须具有相同的长度。此函数原地修改输入张量,并返回输入张量。

参数
  • fill_value (Scalar) – 填充值

  • 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.]])