TensorFlow分區(qū)索引的使用

2018-10-10 17:22 更新

tf.dynamic_partition

dynamic_partition(
    data,
    partitions,
    num_partitions,
    name=None
)

參見指南:張量變換>分割和連接

使用分區(qū)中的索引將數(shù)據(jù)分成 num_partitions 的張量.

對(duì)于大小為 partitions.ndim 的每個(gè)索引元組 js,切片數(shù)據(jù)為 [js, ...] ,成為 outputs[partitions[js]] 其中的一部分.這些 partitions[js] = i 切片以 js 的詞典順序被放置在 outputs[i] 中,outputs[i] 的第一個(gè)維度是分區(qū)中的條目數(shù)等于 i.詳細(xì)參考如下:

outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]

outputs[i] = pack([data[js, ...] for js if partitions[js] == i])

data.shape 必須和 partitions.shape 一起啟動(dòng).

例如:

# Scalar partitions.
partitions = 1
num_partitions = 2
data = [10, 20]
outputs[0] = []  # Empty with shape [0, 2]
outputs[1] = [[10, 20]]

# Vector partitions.
partitions = [0, 0, 1, 1, 0]
num_partitions = 2
data = [10, 20, 30, 40, 50]
outputs[0] = [10, 20, 50]
outputs[1] = [30, 40]

有關(guān) dynamic_stitch 如何將分區(qū)合并回來的示例.

TensorFlow合并分區(qū)的實(shí)例

ARGS:

  • data:一個(gè) Tensor.
  • partitions:一個(gè) int32 類型的張量.可以是任何形狀.索引在范圍 [0, num_partitions) 內(nèi).
  • num_partitions:一個(gè)大于等于1的整數(shù);要輸出的分區(qū)數(shù).
  • name:操作的名稱(可選).

返回:

與數(shù)據(jù)具有相同類型的 num_partitions 張量對(duì)象的列表.

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)