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]]`
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
Keluaran <T> | sebagai Keluaran () Mengembalikan pegangan simbolis tensor. |
statis <T memperluas TType > AllToAll <T> | |
Keluaran <T> | keluaran () Hasil yang dipertukarkan. |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
Keluaran publik <T> sebagai Keluaran ()
Mengembalikan pegangan simbolis 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, masukan Operan <T>, Operan < TInt32 > groupAssignment, Dimensi concat panjang, Dimensi split 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