mindspore.mint.count_nonzero

View Source On AtomGit
mindspore.mint.count_nonzero(input, dim=None)[source]

Count the number of non-zero elements in the tensor input on a given dimension dim. If no dim is specified then all non-zeros in the tensor are counted.

Parameters
  • input (Tensor) – The input tensor for counting non-zero elements. With shape \((*)\) where \(*\) means any number of additional dimensions.

  • dim (Union[None, int, tuple(int), list(int)], optional) – The dimension(s) along which to count non-zero elements. Default: None, which means to count all non-zero elements in the tensor.

Returns

Tensor, the number of non-zero elements in the dimension(s) specified by dim.

Raises
  • TypeError – If input is not Tensor.

  • TypeError – If dim is not int, tuple(int), list(int) or None.

  • ValueError – If any value in dim is not in range \([-input.ndim, input.ndim)\).

Supported Platforms:

Ascend

Examples

>>> 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]