Rpc

public final class Rpc

Eseguire batch di richieste RPC.

Questa operazione esegue in modo asincrono una singola richiesta RPC o un batch di richieste. Le richieste RPC sono definite da tre parametri principali:

- `address` (l'host + la porta o l'indirizzo BNS della richiesta) -` method` (il nome del metodo RPC per la richiesta) - `request` (la proto stringa serializzata, o vettore di stringhe, dell'argomento della richiesta RPC) .

Ad esempio, se hai un servizio RPC in esecuzione sulla porta localhost: 2345 e la sua interfaccia è configurata con la seguente dichiarazione di proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
, chiama questo op con argomenti:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Il tensore `request` è un tensore di stringa che rappresenta` MyRequestProto` serializzato stringhe; e il tensore della stringa di output `response` avrà la stessa forma e conterrà (al completamento con successo) le corrispondenti stringhe serializzate` MyResponseProto`.

Ad esempio, per inviare un singolo, vuoto, `MyRequestProto`, chiama questo op con` request = "" `. Per inviare 5 richieste vuote parallele , chiama questo op con `request = [" "," "," "," "," "]`.

Più in generale, si può creare un batch di protos serializzati `MyRequestProto` da tensori in batch regolari usando l'operazione` encode_proto` e convertire i protos serializzati di risposta `MyResponseProto` in tensori in batch usando l'op` decode_proto`.

NOTA Lavorare con proto stringhe serializzate è più veloce che istanziare oggetti proto effettivi in ​​memoria, quindi non è previsto alcun calo delle prestazioni rispetto alla scrittura di kernel personalizzati per questo flusso di lavoro.

Se la connessione non riesce o il lavoratore remoto restituisce uno stato di errore, l'operatore ripristina questa eccezione localmente.

Vedi l'operazione `TryRpc` se preferisci gestire manualmente gli errori RPC nel grafico.

Classi annidate

classe Rpc.Options Attributi opzionali per Rpc

Metodi pubblici

Output <String>
asOutput ()
Restituisce la maniglia simbolica di un tensore.
Rpc statico
creare ( Ambito di applicazione, operando <String> indirizzo, operando <String> metodo, operando <String> richiesta, Opzioni ... Opzioni)
Metodo Factory per creare una classe che avvolge una nuova operazione Rpc.
Rpc.Options statiche
failFast (booleano failFast)
Rpc.Options statiche
Output <String>
risposta ()
Stessa forma di "richiesta".
Rpc.Options statiche

Metodi ereditati

Metodi pubblici

output pubblico <String> asOutput ()

Restituisce la maniglia simbolica di un tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static Rpc creare ( Ambito di applicazione, operando <String> indirizzo, operando <String> metodo, operando <String> richiesta, Opzioni ... Opzioni)

Metodo Factory per creare una classe che avvolge una nuova operazione Rpc.

Parametri
scopo ambito attuale
indirizzo "0-D" o "1-D". L'indirizzo (ad esempio nome_host: porta) del server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "metodo" e "richiesta".
metodo "0-D" o "1-D". L'indirizzo del metodo sul server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "address" e "request".
richiesta "0-D" o "1-D". Proto stringhe serializzate: l'argomento della richiesta rpc. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "indirizzo" e "metodo".
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di Rpc

public static Rpc.Options failFast (Boolean failFast)

Parametri
failFast "booleano". Se "true" (impostazione predefinita), gli errori di connessione (ovvero, il server non risponde immediatamente) causano un errore RPC.

protocollo statico pubblico Rpc.Options (protocollo String)

Parametri
protocollo Protocollo RPC da utilizzare. Una stringa vuota significa utilizzare il protocollo predefinito. Le opzioni includono "grpc".

output pubblico <String> risposta ()

Stessa forma di "richiesta". Proto stringhe serializzate: le risposte rpc.

public static Rpc.Options timeoutInMs (Long timeoutInMs)

Parametri
timeoutInMs "int". Se "0" (impostazione predefinita), il kernel eseguirà la richiesta RPC e scadrà solo se la scadenza RPC passa o la sessione scade. Se questo valore è maggiore di "0", l'operazione solleverà un'eccezione se RPC impiega più tempo di "timeout_in_ms".