# tf.math.count_nonzero

Computes number of nonzero elements across dimensions of a tensor.

Reduces `input` along the dimensions given in `axis`. Unless `keepdims` is true, the rank of the tensor is reduced by 1 for each entry in `axis`. If `keepdims` is true, the reduced dimensions are retained with length 1.

If `axis` has no entries, all dimensions are reduced, and a tensor with a single element is returned.

#### For example:

``````x = tf.constant([[0, 1, 0], [1, 1, 0]])
tf.math.count_nonzero(x)  # 3
tf.math.count_nonzero(x, 0)  # [1, 2, 0]
tf.math.count_nonzero(x, 1)  # [1, 2]
tf.math.count_nonzero(x, 1, keepdims=True)  # [, ]
tf.math.count_nonzero(x, [0, 1])  # 3
``````

#### For example:

``````x = tf.constant(["", "a", "  ", "b", ""])
tf.math.count_nonzero(x) # 3, with "a", "  ", and "b" as nonzero strings.
``````

`input` The tensor to reduce. Should be of numeric type, `bool`, or `string`.
`axis` The dimensions to reduce. If `None` (the default), reduces all dimensions. Must be in the range `[-rank(input), rank(input))`.
`keepdims` If true, retains reduced dimensions with length 1.
`dtype` The output dtype; defaults to `tf.int64`.
`name` A name for the operation (optional).

The reduced tensor (number of nonzero values).

[]
[]