tf.sparse_segment_sum(data, indices, segment_ids, name=None)
Computes the sum along sparse segments of a tensor.
Read the section on Segmentation for an explanation of segments.
Like SegmentSum
, but segment_ids
can have rank less than data
's first dimension, selecting a subset of dimension 0, specified by indices
.
For example:
c = tf.constant([[1,2,3,4], [-1,-2,-3,-4], [5,6,7,8]]) # Select two rows, one segment. tf.sparse_segment_sum(c, tf.constant([0, 1]), tf.constant([0, 0])) ==> [[0 0 0 0]] # Select two rows, two segment. tf.sparse_segment_sum(c, tf.constant([0, 1]), tf.constant([0, 1])) ==> [[ 1 2 3 4] [-1 -2 -3 -4]] # Select all rows, two segments. tf.sparse_segment_sum(c, tf.constant([0, 1, 2]), tf.constant([0, 0, 1])) ==> [[0 0 0 0] [5 6 7 8]] # Which is equivalent to: tf.segment_sum(c, tf.constant([0, 0, 1]))
Args:
-
data
: ATensor
. Must be one of the following types:float32
,float64
,int32
,int64
,uint8
,int16
,int8
,uint16
,half
. -
indices
: ATensor
. Must be one of the following types:int32
,int64
. A 1-D tensor. Has same rank assegment_ids
. -
segment_ids
: ATensor
of typeint32
. A 1-D tensor. Values should be sorted and can be repeated. -
name
: A name for the operation (optional).
Returns:
A Tensor
. Has the same type as data
. Has same shape as data, except for dimension 0 which has size k
, the number of segments.
Please login to continue.