Wykonuj partie żądań RPC.
Ta operacja asynchronicznie wykonuje pojedyncze żądanie RPC lub grupę żądań. Żądania RPC są definiowane przez trzy główne parametry:
- `adres` (host+port lub adres BNS żądania) - `method` (nazwa metody RPC dla żądania) - `request` (serializowany protociąg lub wektor ciągów argumentu żądania RPC) .
Na przykład, jeśli masz usługę RPC działającą na porcie localhost:2345, a jej interfejs jest skonfigurowany przy użyciu następującej deklaracji proto:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
następnie wywołaj tę opcję z argumentami: address = "localhost:2345"
method = "MyService/MyMethod"
Tensor `request` to tensor stringów reprezentujący serializowane ciągi `MyRequestProto`; a wynikowy tensor ciągu „odpowiedź” będzie miał ten sam kształt i będzie zawierał (po pomyślnym zakończeniu) odpowiednie serializowane ciągi „MyResponseProto”.Na przykład, aby wysłać pojedyncze, puste `MyRequestProto`, wywołaj tę operację z `request = ""`. Aby wysłać 5 równoległych pustych żądań, wywołaj tę operację z `request = ["", "", "", "", ""]`.
Mówiąc bardziej ogólnie, można utworzyć partię serializowanych protosów `MyRequestProto` ze zwykłych tensorów wsadowych za pomocą operacji `encode_proto` i przekonwertować serializowane proto odpowiedzi `MyResponseProto` na tensory wsadowe za pomocą operacji `decode_proto`.
UWAGA Praca z serializowanymi ciągami proto jest szybsza niż tworzenie instancji rzeczywistych obiektów proto w pamięci, więc nie oczekuje się pogorszenia wydajności w porównaniu z pisaniem niestandardowych jąder dla tego przepływu pracy.
Jeśli połączenie nie powiedzie się lub zdalny proces roboczy zwróci status błędu, operacja ponownie zgłosi ten wyjątek lokalnie.
Zobacz opcję `TryRpc`, jeśli wolisz ręcznie obsługiwać błędy RPC na wykresie.
Klasy zagnieżdżone
klasa | Opcje Rpc | Opcjonalne atrybuty dla Rpc |
Stałe
Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Dane wyjściowe <TString> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny Rpc | |
statyczne opcje Rpc | FailFast (logiczna FailFast) |
statyczne opcje Rpc | protokół (protokół łańcuchowy) |
Dane wyjściowe <TString> | odpowiedź () Taki sam kształt jak „prośba”. |
statyczne opcje Rpc | timeoutInMs (Długi limit czasuInMs) |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście < TString > 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 Rpc create (Zakres zakresu , Operand < TString > adres, Operand < TString > metoda, Operand < TString > żądanie, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację Rpc.
Parametry
zakres | aktualny zakres |
---|---|
adres | „0-D” lub „1-D”. Adres (tj. nazwa_hosta:port) serwera RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument jest rozgłaszany z „metodą” i „żądaniem”. |
metoda | „0-D” lub „1-D”. Adres metody na serwerze RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument jest rozgłaszany z „adresem” i „żądaniem”. |
wniosek | „0-D” lub „1-D”. Serializowane ciągi proto: argument żądania RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument rozgłasza z „adresem” i „metodą”. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja Rpc
public static Rpc.Options fallFast (Boolean Fast)
Parametry
niepowodzenieSzybko | „boolowski”. Jeśli „true” (domyślnie), awarie połączenia (tzn. serwer nie odpowiada natychmiast) powodują awarię RPC. |
---|
publiczny statyczny protokół Rpc.Options (protokół String)
Parametry
protokół | Protokół RPC, którego należy używać. Pusty ciąg oznacza użycie protokołu domyślnego. Opcje obejmują „grpc”. |
---|
publiczne wyjście < TString > odpowiedź ()
Taki sam kształt jak „prośba”. Serializowane ciągi proto: odpowiedzi RPC.
publiczny statyczny limit czasu Rpc.OptionsInMs (długi limit czasuInMs)
Parametry
limit czasuInMs | `int`. Jeśli „0” (domyślnie), jądro uruchomi żądanie RPC i przekroczy limit czasu tylko wtedy, gdy upłynie termin RPC lub upłynie limit czasu sesji. Jeśli ta wartość jest większa niż „0”, operacja zgłosi wyjątek, jeśli RPC trwa dłużej niż „timeout_in_ms”. |
---|