mindspore.mint.count_nonzero
- mindspore.mint.count_nonzero(input, dim=None)[源代码]
计算输入Tensor指定轴上的非零元素的数量。如果没有指定维度,则计算Tensor中所有非零元素的数量。
警告
这是一个实验性API,后续可能修改或删除。
- 参数:
input (Tensor) - 要计算非零元素个数的输入。其shape为 \((*)\) ,其中 \(*\) 为任意维度。
dim (Union[None, int, tuple(int), list(int)], 可选) - 要沿其计算非零值数量的维度。默认值:
None
,计算所有非零元素的个数。求和的维度。如果 dim 为None
,对Tensor中的所有元素求和。
- 返回:
Tensor,指定的轴上非零元素数量。
- 异常:
TypeError - input 不是Tensor类型。
TypeError - dim 类型不是int,tuple(int),list(int)或None。
ValueError - dim 取值不在 \([-input.ndim, input.ndim)\) 范围。
- 支持平台:
Ascend
样例:
>>> from mindspore import Tensor, mint >>> import numpy as np >>> import mindspore >>> # case 1: each value specified. >>> x = Tensor(np.array([[0, 1, 0], [1, 1, 0]]).astype(np.float32)) >>> nonzero_num = mint.count_nonzero(input=x, dim=[0, 1]) >>> print(nonzero_num) [[3]] >>> # case 2: all value is default. >>> nonzero_num = mint.count_nonzero(input=x) >>> print(nonzero_num) 3 >>> # case 3: dim value was specified 0. >>> nonzero_num = mint.count_nonzero(input=x, dim=[0,]) >>> print(nonzero_num) [1 2 0] >>> # case 4: dim value was specified 1. >>> nonzero_num = mint.count_nonzero(input=x, dim=[1,]) >>> print(nonzero_num) [1 2]