Opcja wymiany danych między replikami TPU.
W każdej replice dane wejściowe są dzielone na bloki „split_count” wzdłuż „split_dimension” i wysyłane do innych replik z określonym przypisaniem_grupy. Po otrzymaniu bloków `split_count` - 1 od innych replik, łączymy bloki wzdłuż `concat_dimension` jako wyniku.
Załóżmy na przykład, że istnieją 2 repliki TPU: replika 0 otrzymuje dane wejściowe: `[[A, B]]` replika 1 otrzymuje dane wejściowe: `[[C, D]]`
group_przypisanie=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2
wyjście repliki 0: `[[A], [C]]` wyjście repliki 1: `[[B], [D]]`
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T> AllToAll <T> | |
Wyjście <T> | wyjście () Wymieniony wynik. |
Metody dziedziczone
Metody publiczne
publiczne wyjście <T> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static AllToAll <T> create ( Zakres zakresu , Operand <T> wejście, Operand <Integer> groupAssignment, Long concatDimension, Long splitDimension, Long splitCount)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację AllToAll.
Parametry
zakres | aktualny zakres |
---|---|
wejście | Lokalne wejście do sumy. |
zadanie grupowe | Tensor int32 o kształcie [num_groups, num_replicas_per_group]. `przypisanie_grupy[i]` reprezentuje identyfikatory replik w i-tej podgrupie. |
concatDimension | Numer wymiaru do połączenia. |
podzielony wymiar | Numer wymiaru do podziału. |
podzielna liczba | Liczba podziałów, liczba ta musi być równa wielkości podgrupy (group_przypisanie.get_shape()[1]) |
Zwroty
- nowa instancja AllToAll