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