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

2018-10-10 17:22 更新

tf.dynamic_partition

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

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

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

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

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 一起啟動.

例如:

# 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]

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

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

ARGS:

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

返回:

與數據具有相同類型的 num_partitions 張量對象的列表.

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號