TensorFlow數(shù)學函數(shù):tf.sparse_segment_sum

2018-03-09 10:30 更新

tf.sparse_segment_sum 函數(shù)

sparse_segment_sum(
    data,
    indices,
    segment_ids,
    name=None,
    num_segments=None
)

定義在:tensorflow/python/ops/math_ops.py.

請參閱指南:數(shù)學>分段

計算張量的稀疏段的和.

與 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]))

函數(shù)參數(shù):

  • data:Tensor 數(shù)據(jù)將在輸出中組合.
  • indices:1 維 Tensor,索引為 data.與 segment_ids 具有相同的秩.
  • segment_ids:一個 1-D 的 Tensor,它帶有索引的輸出 Tensor.值應該排序并且可以重復.
  • name:操作的名稱(可選).
  • num_segments:一個可選的 int32 標量.指示輸出 Tensor 的大小.

函數(shù)返回值:

tf.sparse_segment_sum 函數(shù)返回作為數(shù)據(jù)的形狀的一個 tensor,除了大小為 k 的維度 0 之外,它通過 num_segments 指定的段的數(shù)量或在 segments_ids 中推斷最后一個元素.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號