Sebuah Op untuk bertukar data di seluruh replika TPU.
Pada setiap replika, input dibagi menjadi blok `split_count` di sepanjang `split_dimension` dan dikirim ke replika lain yang diberikan group_assignment. Setelah menerima `split_count` - 1 blok dari replika lain, kami menggabungkan blok di sepanjang `concat_dimension` sebagai output.
Misalnya, ada 2 replika TPU: replika 0 menerima input: `[[A, B]]` replika 1 menerima input: `[[C, D]]`
group_assignment=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2
keluaran replika 0: `[[A], [C]]` keluaran replika 1: `[[B], [D]]`
Metode Publik
Output <T> | asOutput () Mengembalikan pegangan simbolis tensor. |
statis <T> AllToAll <T> | |
Output <T> | Output () Hasil yang dipertukarkan. |
Metode yang Diwarisi
Metode Publik
publik Keluaran <T> asOutput ()
Mengembalikan pegangan simbolis tensor.
Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static AllToAll <T> membuat ( Lingkup lingkup, Operan <T> input, Operan <Integer> groupAssignment, Long concatDimension, Long splitDimension, Long splitCount)
Metode pabrik untuk membuat kelas yang membungkus operasi AllToAll baru.
Parameter
cakupan | lingkup saat ini |
---|---|
memasukkan | Input lokal ke jumlah. |
tugas grup | Tensor int32 dengan bentuk [num_groups, num_replicas_per_group]. `group_assignment[i]` mewakili id replika di subgrup ke-i. |
dimensi gabungan | Nomor dimensi yang akan digabungkan. |
splitDimension | Nomor dimensi yang akan dibagi. |
splitCount | Jumlah split, jumlah ini harus sama dengan ukuran sub-grup(group_assignment.get_shape()[1]) |
Kembali
- contoh baru AllToAll