パブリック最終クラスDynamicPartition
`partitions` のインデックスを使用して `data` を `num_partitions` テンソルに分割します。
サイズ `partitions.ndim` のインデックス タプル `js` ごとに、スライス `data[js, ...]` が `outputs[partitions[js]]` の一部になります。 `partitions[js] = i` のスライスは、`js` の辞書編集順に `outputs[i]` に配置され、`outputs[i]` の最初の次元は、`partitions` 内のエントリの数に等しいです。 「私」。詳細には、
outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]
outputs[i] = pack([data[js, ...] for js if partitions[js] == i])
例えば:
# 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]
* 次の場合に `InvalidArgumentError` が発生します: - パーティションが `[0, num_partiions)` の範囲内にない場合 - `partitions.shape` が `data.shape` 引数のプレフィックスと一致しない場合。
パブリックメソッド
public static DynamicPartition <T> create (スコープスコープ、オペランド<T> データ、オペランド<Integer> パーティション、Long numPartitions)
新しい DynamicPartition 操作をラップするクラスを作成するためのファクトリ メソッド。
パラメータ
範囲 | 現在のスコープ |
---|---|
パーティション | あらゆる形状。 `[0, num_partitions)` の範囲のインデックス。 |
パーティション数 | 出力するパーティションの数。 |
返品
- DynamicPartition の新しいインスタンス