mindspore.ops.triu

mindspore.ops.triu(input, diagonal=0)[源代码]

返回输入Tensor input 的上三角形部分(包含对角线和下面的元素),并将其他元素设置为0。

警告

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

参数:
  • input (Tensor) - shape是 \((M, N, *)\) 的Tensor,其中*表示任意数量的维度。

  • diagonal (int,可选) - 指定对角线位置,默认值: 0 ,指定主对角线。

返回:

Tensor,其数据类型和shape与 input 相同。

异常:
  • TypeError - 如果 diagonal 不是int。

  • TypeError - 如果 input 不是Tensor。

  • ValueError - 如果 input 的shape的长度小于2。

支持平台:

Ascend GPU CPU

样例:

>>> x = Tensor(np.array([[ 1,  2,  3,  4],
...                      [ 5,  6,  7,  8],
...                      [10, 11, 12, 13],
...                      [14, 15, 16, 17]]))
>>> result = ops.triu(x)
>>> print(result)
[[ 1  2  3  4]
 [ 0  6  7  8]
 [ 0  0 12 13]
 [ 0  0  0 17]]
>>> x = Tensor(np.array([[ 1,  2,  3,  4],
...                      [ 5,  6,  7,  8],
...                      [10, 11, 12, 13],
...                      [14, 15, 16, 17]]))
>>> result = ops.triu(x, diagonal=1)
>>> print(result)
[[ 0  2  3  4]
 [ 0  0  7  8]
 [ 0  0  0 13]
 [ 0  0  0  0]]
>>> x = Tensor(np.array([[ 1,  2,  3,  4],
...                      [ 5,  6,  7,  8],
...                      [10, 11, 12, 13],
...                      [14, 15, 16, 17]]))
>>> result = ops.triu(x, diagonal=-1)
>>> print(result)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 0 11 12 13]
 [ 0  0 16 17]]