![]() |
Counts the number of occurrences of each value in an integer array.
tf.compat.v2.math.bincount(
arr,
weights=None,
minlength=None,
maxlength=None,
dtype=tf.dtypes.int32,
name=None
)
If minlength
and maxlength
are not given, returns a vector with length
tf.reduce_max(arr) + 1
if arr
is non-empty, and length 0 otherwise.
If weights
are non-None, then index i
of the output stores the sum of the
value in weights
at each index where the corresponding value in arr
is
i
.
values = tf.constant([1,1,2,3,2,4,4,5])
tf.math.bincount(values) #[0 2 2 1 2 1]
Vector length = Maximum element in vector values
is 5. Adding 1, which is 6
will be the vector length.
Each bin value in the output indicates number of occurrences of the particular
index. Here, index 1 in output has a value 2. This indicates value 1 occurs
two times in values
.
values = tf.constant([1,1,2,3,2,4,4,5])
weights = tf.constant([1,5,0,1,0,5,4,5])
tf.math.bincount(values, weights=weights) #[0 6 0 1 9 5]
Bin will be incremented by the corresponding weight instead of 1.
Here, index 1 in output has a value 6. This is the summation of weights
corresponding to the value in values
.
Args:
arr
: An int32 tensor of non-negative values.weights
: If non-None, must be the same shape as arr. For each value inarr
, the bin will be incremented by the corresponding weight instead of 1.minlength
: If given, ensures the output has length at leastminlength
, padding with zeros at the end if necessary.maxlength
: If given, skips values inarr
that are equal or greater thanmaxlength
, ensuring that the output has length at mostmaxlength
.dtype
: Ifweights
is None, determines the type of the output bins.name
: A name scope for the associated operations (optional).
Returns:
A vector with the same dtype as weights
or the given dtype
. The bin
values.
Raises:
InvalidArgumentError
if negative values are provided as an input.