mindspore.nn.Triu
- class mindspore.nn.Triu[源代码]
返回一个Tensor,指定主对角线以下的元素被置为0。
将矩阵元素沿主对角线分为上三角和下三角(包含对角线)。
参数 k 控制对角线的选择。若 k 为0,则沿主对角线分割并保留上三角所有元素。若 k 为正值,则沿主对角线向上选择对角线 k ,并保留上三角所有元素。若 k 为负值,则沿主对角线向下选择对角线 k ,并保留上三角所有元素。
- 输入:
x (Tensor) - Triu的输入,任意维度的Tensor,其数据类型为数值型。
k (int) - 对角线的索引。默认值:0。
- 输出:
Tensor,数据类型和shape与 x 相同。
- 异常:
TypeError - k 不是int。
ValueError - x 的shape长度小于1。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> x = Tensor(np.array([[ 1, 2, 3, 4], ... [ 5, 6, 7, 8], ... [10, 11, 12, 13], ... [14, 15, 16, 17]])) >>> triu = nn.Triu() >>> result = 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]])) >>> triu = nn.Triu() >>> result = triu(x, 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]])) >>> triu = nn.Triu() >>> result = triu(x, 2) >>> print(result) [[ 0 0 3 4] [ 0 0 0 8] [ 0 0 0 0] [ 0 0 0 0]] >>> x = Tensor(np.array([[ 1, 2, 3, 4], ... [ 5, 6, 7, 8], ... [10, 11, 12, 13], ... [14, 15, 16, 17]])) >>> triu = nn.Triu() >>> result = triu(x, -1) >>> print(result) [[ 1 2 3 4] [ 5 6 7 8] [ 0 11 12 13] [ 0 0 16 17]]