TensorFlow數(shù)學(xué)函數(shù):tf.segment_sum函數(shù)

2020-10-21 13:47 更新

tf.segment_sum 函數(shù)

segment_sum(
    data,
    segment_ids,
    name = None
)

請(qǐng)參閱指南:數(shù)學(xué)函數(shù)>分割

沿張量的片段計(jì)算總和。

計(jì)算的張量,例如  \ (output_i = \ sum_j data_j \ ) ,其中求和是在 j 上,例如:segment_ids[j] == i 。

如果給定 ID i 的分段的和為空,則有 output[i] = 0 。

TensorFlow函數(shù)

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

  • data:一個(gè) Tensor ;必須是下列類型之一:float32, float64, int64, int32, uint8, uint16, int16, int8, complex64, complex128, qint8, quint8, qint32, half .
  • segment_ids:一個(gè)Tensor;必須是以下類型之一:int32, int64 ;一維張量,其秩等于 data 第一維的秩;值應(yīng)該被排序,并且可以是重復(fù)的.
  • name:操作的名稱(可選).

函數(shù)返回值

tf.segment_sum 函數(shù)返回的是一個(gè) Tensor ,它與 data 有相同的類型,與 data 具有相同的形狀,但大小為 k (段的數(shù)目)的維度 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 中的值相當(dāng)于對(duì) data 數(shù)據(jù)第一維度的索引。輸出數(shù)據(jù)的第一個(gè)維度(output[0])為 segment_ids == 0 的下標(biāo)所對(duì)應(yīng)的 data 的數(shù)據(jù)的求和。

示例

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
)

  • segment_ids 的大小與 data 第一維度相同。(=8)且 segment_ids 的每個(gè)值 <8。
  • output[0] = data[segment_ids==0] = 5
  • output[2] = data[segment_ids==2] = 1+4 = 5
  • 對(duì)于 segment_ids 沒(méi)有指定的下標(biāo)(output[3])直接等于0,output[3]=0

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

    掃描二維碼

    下載編程獅App

    公眾號(hào)
    微信公眾號(hào)

    編程獅公眾號(hào)