mindspore.ops.count_nonzero
- mindspore.ops.count_nonzero(x, axis=(), keep_dims=False, dtype=mstype.int32)[源代码]
计算输入tensor指定轴上的非零元素的数量。如果没有指定轴,则计算tensor中所有非零元素的数量。
- 参数:
x (Tensor) - 输入tensor。
axis (Union[int, tuple(int), list(int)],可选) - 指定轴。默认
()
,计算所有非零元素的个数。keep_dims (bool, 可选) - 是否保留 axis 指定的维度。默认
False
,不保留对应维度。dtype (Union[Number, mindspore.bool_],可选) - 指定数据类型。默认
mstype.int32
。
- 返回:
Tensor
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> # case 1: each value specified. >>> x = mindspore.tensor([[0, 1, 0], [1, 1, 0]], mindspore.float32) >>> nonzero_num = mindspore.ops.count_nonzero(x=x, axis=[0, 1], keep_dims=True, dtype=mindspore.int32) >>> print(nonzero_num) [[3]] >>> # case 2: all value is default. >>> nonzero_num = mindspore.ops.count_nonzero(x=x) >>> print(nonzero_num) 3 >>> # case 3: axis value was specified 0. >>> nonzero_num = mindspore.ops.count_nonzero(x=x, axis=[0,]) >>> print(nonzero_num) [1 2 0] >>> # case 4: axis value was specified 1. >>> nonzero_num = mindspore.ops.count_nonzero(x=x, axis=[1,]) >>> print(nonzero_num) [1 2] >>> # case 5: keep_dims value was specified. >>> nonzero_num = mindspore.ops.count_nonzero(x=x, keep_dims=True) >>> print(nonzero_num) [[3]] >>> # case 6: keep_dims and axis value was specified. >>> nonzero_num = mindspore.ops.count_nonzero(x=x, axis=[0,], keep_dims=True) >>> print(nonzero_num) [[1 2 0]]