diff --git a/tensorflow/python/ops/math_ops.py b/tensorflow/python/ops/math_ops.py index 224b640b97f1ca..515b1be923cc78 100644 --- a/tensorflow/python/ops/math_ops.py +++ b/tensorflow/python/ops/math_ops.py @@ -3034,6 +3034,26 @@ def bincount(arr, value in `weights` at each index where the corresponding value in `arr` is `i`. + ```python + 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`. + + ```python + 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 in @@ -3049,6 +3069,10 @@ def bincount(arr, 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. + """ name = "bincount" if name is None else name with ops.name_scope(name):