maxframe.tensor.count_nonzero#

maxframe.tensor.count_nonzero(a, axis=None)[源代码]#

计算张量 a 中非零值的数量。

“非零”一词参考了 Python 2.x 的内置方法 __nonzero__()``(在 Python 3.x 中重命名为 ``__bool__()),用于测试对象的“真实性”。例如,任何非零数字被认为是真实的,而任何非空字符串也被认为是真实的。因此,此函数(递归地)计算 a``(及其子张量)中 ``__nonzero__()__bool__() 方法返回 True 的元素数量。

参数:
  • a (array_like) -- 需要计算非零值数量的张量。

  • axis (int or tuple, optional) -- 计算非零值的轴或轴的元组。默认为 None,表示将沿 a 的展平版本计算非零值。

返回:

count -- 给定轴上数组中非零值的数量。否则,返回张量中非零值的总数。

返回类型:

int or tensor of int

参见

nonzero

返回所有非零值的坐标。

示例

>>> import maxframe.tensor as mt
>>> mt.count_nonzero(mt.eye(4)).execute()
4
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]]).execute()
5
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]], axis=0).execute()
array([1, 1, 1, 1, 1])
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]], axis=1).execute()
array([2, 3])