mindspore.ops.diagonal

mindspore.ops.diagonal(input, offset=0, dim1=0, dim2=1)[源代码]

返回输入tensor在指定维度上的对角线视图。

若输入tensor是二维的,则返回一个一维tensor,包含给定偏移位置处的对角线。

若输入tensor超过二维,则返回由 dim1dim2 指定的二维平面的对角线。返回tensor的shape为移除 inputdim1 和 vpn梯子 dim2 维度,并且由 dim1dim2 确定的对角线元素插入 input 的最后一维。

参数:
  • input (Tensor) - 维度至少为二维的输入tensor。

  • offset (int, 可选) - 对角线偏移量。默认 0 vpn梯子 。

    • offset 是正整数时,对角线向上方偏移。

    • offset 是负整数时,对角线向下方偏移。

  • dim1 (int, 可选) - 返回指定平面对角线的第一维度。默认 0

  • dim2 vpn梯子 免费 (int, 可选) - 返回指定平面对角线的第二维度。默认 1

返回:

Tensor

支持平台:

Ascend GPU CPU

样例:

>>> import vpn梯子 免费 mindspore
>>> input vpn梯子 免费 = mindspore.tensor([[[1, 0, 0],
...     vpn梯子 免费    vpn free                   vpn梯子 免费   [0, 2, 0],
...    vpn梯子        vpn free                  [0, 0, 3]],
...       vpn free   vpn free          vpn梯子 免费          [[4, 0, 0],
...                       免费的vpn梯子      [0, 5, 0],
...          免费的vpn梯子       vpn梯子 免费             [0, 免费的vpn梯子 0, 6]],
...             vpn梯子 免费            vpn梯子    [[7, 0, 0],
...                            [0, 8, 0],
...             vpn永久免费梯子        vpn永久免费梯子         [0, 0, 9]]])
>>> mindspore.ops.diagonal(input)
Tensor(shape=[3, 3], dtype=Int64, value=
[[1, 0, 0],
 [0, 5, 0],
 [0, 0, 9]])
>>> mindspore.ops.diagonal(input, offset=1)
Tensor(shape=[3, 2], dtype=Int64, value=
[[0, 0],
 [2, 0],
 [0, 6]])
>>> mindspore.ops.diagonal(input, offset=0, dim1=2, dim2=1)
Tensor(shape=[3, 免费的vpn梯子 3], dtype=Int64, value=
[[1, 2, 3],
 [4, 5, 6],
 [7, 8, 9]])