Operasi untuk bertukar data di seluruh replika TPU.
Pada setiap replika, masukan dibagi menjadi blok `split_count` sepanjang `split_dimension` dan dikirim ke replika lain berdasarkan group_assignment. Setelah menerima `split_count` - 1 blok dari replika lain, kami menggabungkan blok-blok tersebut bersama `concat_dimension` sebagai output.
Misalnya, ada 2 replika TPU: replika 0 menerima masukan: `[[A, B]]` replika 1 menerima masukan: `[[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
Keluaran <T> | sebagai Keluaran () Mengembalikan pegangan simbolik tensor. |
statis <T> Semua KeSemua <T> | |
Keluaran <T> | keluaran () Hasil yang dipertukarkan. |
Metode Warisan
Metode Publik
Keluaran publik <T> sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static AllToAll <T> buat ( Lingkup cakupan , input Operand <T>, Operand <Integer> groupAssignment, ConcatDimension Panjang, SplitDimension Panjang, SplitCount panjang)
Metode pabrik untuk membuat kelas yang membungkus operasi AllToAll baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
memasukkan | Masukan lokal ke penjumlahan. |
tugas kelompok | Tensor int32 dengan bentuk [num_groups, num_replicas_per_group]. `group_assignment[i]` mewakili id replika di subgrup ke-i. |
dimensi concat | Nomor dimensi yang akan digabungkan. |
splitDimension | Nomor dimensi yang akan dipisahkan. |
splitCount | Jumlah pemisahan, jumlah ini harus sama dengan ukuran subgrup(group_assignment.get_shape()[1]) |
Kembali
- contoh baru AllToAll