RPG

publiczne zajęcia końcowe Rpc

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

Metody publiczne

Wyjście <Ciąg>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny Rpc
utwórz ( Zakres zakresu, adres argumentu <String>, metoda argumentu <String>, żądanie argumentu <String>, opcje ... )
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację Rpc.
statyczne opcje Rpc
FailFast (logiczna FailFast)
statyczne opcje Rpc
protokół (protokół łańcuchowy)
Wyjście <Ciąg>
odpowiedź ()
Taki sam kształt jak „prośba”.
statyczne opcje Rpc
timeoutInMs (Długi limit czasuInMs)

Metody dziedziczone

Metody publiczne

publiczne wyjście <String> 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 , adres argumentu <String>, metoda argumentu <String>, żądanie argumentu <String>, 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żywać. Pusty ciąg oznacza użycie protokołu domyślnego. Opcje obejmują „grpc”.

publiczna odpowiedź wyjściowa <String> ()

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”.