mindspore.ops.nonzero
- mindspore.ops.nonzero(input, *, as_tuple=False)[源代码]
返回所有非零元素下标位置。
- 参数:
input (Tensor) - 输入tensor。
说明
Ascend: 输入tensor的秩可以等于0,jit level O2模式除外。
CPU/GPU: 输入tensor秩应大于等于1。
- 关键字参数:
as_tuple (bool, 可选) - 是否以tuple形式输出,默认
False
。
- 返回:
Tensor或者由tensor组成的tuple。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> x = mindspore.tensor([[[1, 0], [-5, 0]]], mindspore.int32) >>> output = mindspore.ops.nonzero(x) >>> print(output) [[0 0 0] [0 1 0]] >>> x = mindspore.tensor([1, 0, 2, 0, 3], mindspore.int32) >>> output = mindspore.ops.nonzero(x, as_tuple=False) >>> print(output) [[0] [2] [4]] >>> x = mindspore.tensor([[[1, 0], [-5, 0]]], mindspore.int32) >>> output = mindspore.ops.nonzero(x, as_tuple=True) >>> print(output) (Tensor(shape=[2], dtype=Int64, value=[0, 0]), Tensor(shape=[2], dtype=Int64, value=[0, 1]), Tensor(shape=[2], dtype=Int64, value=[0, 0])) >>> x = mindspore.tensor([1, 0, 2, 0, 3], mindspore.int32) >>> output = mindspore.ops.nonzero(x, as_tuple=True) >>> print(output) (Tensor(shape=[3], dtype=Int64, value=[0, 2, 4]), )