mindspore.ops.diagonal
- mindspore.ops.diagonal(input, offset=0, dim1=0, dim2=1)[源代码]
返回 input 特定的对角线视图。如果 input 为2-D,返回偏移量为 offset 的对角线元素。如果 input 维度大于2,则返回由 dim1 和 dim2 确定的2-D子数组的对角线视图。这种情况下,移除 input 的 dim1 和 dim2 维度,并且由 dim1 和 dim2 确定的对角线元素插入 input 的最后一维。
- 参数:
input (Tensor) - 输入Tensor,其维度至少为2。
offset (int, 可选) - 对角线与主对角线的偏移。可以是正值或负值。默认值:
0
。dim1 (int, 可选) - 二维子数组的第一轴,对角线应该从这里开始。默认值:
0
。dim2 (int, 可选) - 二维子数组的第二轴,对角线应该从这里开始。默认值:
1
。
- 返回:
Tensor,如果Tensor是二维,则返回值是一维数组,如果输入维度大于2,则先移除维度 dim1 和 dim2, 然后在末尾插入新的一维来对应对角元素。
- 异常:
TypeError - dim1 或 dim2 的数据类型不是整型。
ValueError - 输入Tensor的维度少于2。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> x = Tensor([[0, 1], [2, 3]], mstype.float32) >>> output = ops.diagonal(x) >>> print(output) [0 3]