阅读(4210)
赞(12)
TensorFlow数学函数:tf.sparse_segment_sum
2018-03-09 10:20:03 更新
tf.sparse_segment_sum 函数
sparse_segment_sum(
data,
indices,
segment_ids,
name=None,
num_segments=None
)
定义在:tensorflow/python/ops/math_ops.py.
请参阅指南:数学>分段
计算张量的稀疏段的和.
与 SegmentSum 类似,不同的是 segment_ids 可以有低于 data 的第一维度的秩,选择维度 0 的子集 (由索引指定).segment_ids 允许缺少 ID,在这种情况下,输出将在这些索引处为零.在这些情况下,num_segments 用于确定输出的大小.
如下示例:
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]]
# With missing segment ids.
tf.sparse_segment_sum(c, tf.constant([0, 1]), tf.constant([0, 2]),
num_segments=4)
# => [[ 1 2 3 4]
# [ 0 0 0 0]
# [-1 -2 -3 -4]
# [ 0 0 0 0]]
# 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]))
函数参数:
- data:Tensor 数据将在输出中组合.
- indices:1 维 Tensor,索引为 data.与 segment_ids 具有相同的秩.
- segment_ids:一个 1-D 的 Tensor,它带有索引的输出 Tensor.值应该排序并且可以重复.
- name:操作的名称(可选).
- num_segments:一个可选的 int32 标量.指示输出 Tensor 的大小.
函数返回值:
tf.sparse_segment_sum 函数返回作为数据的形状的一个 tensor,除了大小为 k 的维度 0 之外,它通过 num_segments 指定的段的数量或在 segments_ids 中推断最后一个元素.