評價此頁

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