triu

paddle.triu ( input, diagonal=0, name=None ) [源代码]

返回输入矩阵 input 的上三角部分,其余部分被设为0。 矩形的上三角部分被定义为对角线上和上方的元素。

参数

  • input (Tensor) : 输入Tensor input,数据类型支持 float32, float64, int32, int64 。

  • diagonal (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。

  • name (str,可选)- 具体用法请参见 Name ,一般无需设置,默认值为None。

返回

Tensor, 数据类型与输入 input 数据类型一致。

代码示例

  1. import numpy as np
  2. import paddle
  3. data = np.arange(1, 13, dtype="int64").reshape(3,-1)
  4. # array([[ 1, 2, 3, 4],
  5. # [ 5, 6, 7, 8],
  6. # [ 9, 10, 11, 12]])
  7. # example 1, default diagonal
  8. x = paddle.to_tensor(data)
  9. triu1 = paddle.tensor.triu(x)
  10. # array([[ 1, 2, 3, 4],
  11. # [ 0, 6, 7, 8],
  12. # [ 0, 0, 11, 12]])
  13. # example 2, positive diagonal value
  14. triu2 = paddle.tensor.triu(x, diagonal=2)
  15. # array([[0, 0, 3, 4],
  16. # [0, 0, 0, 8],
  17. # [0, 0, 0, 0]])
  18. # example 3, negative diagonal value
  19. triu3 = paddle.tensor.triu(x, diagonal=-1)
  20. # array([[ 1, 2, 3, 4],
  21. # [ 5, 6, 7, 8],
  22. # [ 0, 10, 11, 12]])