TensorFlow数学函数:tf.segment_sum函数
2020-10-21 13:47 更新
tf.segment_sum 函数
segment_sum(
data,
segment_ids,
name = None
)
请参阅指南:数学函数>分割
沿张量的片段计算总和。
计算的张量,例如 \ (output_i = \ sum_j data_j \ ) ,其中求和是在 j 上,例如:segment_ids[j] == i 。
如果给定 ID i 的分段的和为空,则有 output[i] = 0 。
函数参数
- data:一个 Tensor ;必须是下列类型之一:float32, float64, int64, int32, uint8, uint16, int16, int8, complex64, complex128, qint8, quint8, qint32, half .
- segment_ids:一个Tensor;必须是以下类型之一:int32, int64 ;一维张量,其秩等于 data 第一维的秩;值应该被排序,并且可以是重复的.
- name:操作的名称(可选).
函数返回值
tf.segment_sum 函数返回的是一个 Tensor ,它与 data 有相同的类型,与 data 具有相同的形状,但大小为 k (段的数目)的维度 0 除外。
详解
Computes a tensor such that (output_i = \ sum_j data_j) where sum is over j such that segment_ids[j] == i.
If the sum is empty for a given segment ID i, output[i] = 0.
segment_ids 中的值相当于对 data 数据第一维度的索引。输出数据的第一个维度(output[0])为 segment_ids == 0 的下标所对应的 data 的数据的求和。
示例
data = [5 1 7 2 3 4 1 3]
segment_ids = [0 2 4 1 5 2 4 1]
output = tf.segment_sum(
data,
segment_ids,
name = None
)