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 z następującą deklaracją proto:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
wywołaj tę operację z argumentami: address = "localhost:2345"
method = "MyService/MyMethod"
Tensor `żądania` jest tensorem łańcucha reprezentującym serializowane ciągi znaków `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 przy użyciu operacji `encode_proto` i przekonwertować serializowane proto odpowiedzi `MyResponseProto` na tensory wsadowe przy użyciu 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
Strunowy | 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 |
Zwroty
- nowa instancja Rpc
public static Rpc.Options fallFast (Boolean Fast)
Parametry
nieszybko | „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żyć. 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”. |
---|