mindspore.Tensor.fill_diagonal_

mindspore.Tensor.fill_diagonal_(fill_value, wrap=False) Tensor[源代码]

self Tensor的主对角线,原地填充成指定的值,并返回结果。 self 必须至少为2D,并且如果维度大于2,则需要所有维度上的长度均相等。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • fill_value (number) - 对角线的填充值。

  • wrap (bool, 可选) - 控制对角线的元素是否继续在剩余的行上填充,如果 self 是高矩阵的话(矩阵的行比列多)。默认值:False

返回:

Tensor,和 self 具有相同的shape和数据类型。

异常:
  • ValueError - 如果 self 的维度不大于1。

  • ValueError - 在 self 的维度大于2时,所有维度的长度不相等。

支持平台:

Ascend

样例:

>>> import numpy as np
>>> from mindspore import Tensor
>>> x = Tensor(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).astype(np.float32))
>>> fill_value = 9.9
>>> x.fill_diagonal_(fill_value)
>>> print(x)
[[9.9 2.  3. ]
 [4.  9.9 6. ]
 [7.  8.  9.9]]