tril¶
返回输入矩阵 input
的下三角部分,其余部分被设为 0。 矩形的下三角部分被定义为对角线上和下方的元素。
参数¶
input (Tensor) - 输入 Tensor input,数据类型支持 bool、float32、float64、int32、int64、complex64、complex128。
diagonal (int,可选) - 指定的对角线,默认值为 0。如果 diagonal = 0,表示主对角线;如果 diagonal 是正数,表示主对角线之上的对角线;如果 diagonal 是负数,表示主对角线之下的对角线。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor,数据类型与输入 input 数据类型一致。
代码示例¶
>>> import paddle
>>> data = paddle.arange(1, 13, dtype="int64").reshape([3,-1])
>>> print(data)
Tensor(shape=[3, 4], dtype=int64, place=Place(cpu), stop_gradient=True,
[[1 , 2 , 3 , 4 ],
[5 , 6 , 7 , 8 ],
[9 , 10, 11, 12]])
>>> tril1 = paddle.tril(data)
>>> print(tril1)
Tensor(shape=[3, 4], dtype=int64, place=Place(cpu), stop_gradient=True,
[[1 , 0 , 0 , 0 ],
[5 , 6 , 0 , 0 ],
[9 , 10, 11, 0 ]])
>>> # example 2, positive diagonal value
>>> tril2 = paddle.tril(data, diagonal=2)
>>> print(tril2)
Tensor(shape=[3, 4], dtype=int64, place=Place(cpu), stop_gradient=True,
[[1 , 2 , 3 , 0 ],
[5 , 6 , 7 , 8 ],
[9 , 10, 11, 12]])
>>> # example 3, negative diagonal value
>>> tril3 = paddle.tril(data, diagonal=-1)
>>> print(tril3)
Tensor(shape=[3, 4], dtype=int64, place=Place(cpu), stop_gradient=True,
[[0 , 0 , 0 , 0 ],
[5 , 0 , 0 , 0 ],
[9 , 10, 0 , 0 ]])