Esegui 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+porta o l'indirizzo BNS della richiesta) - `method` (il nome del metodo RPC per la richiesta) - `request` (la protostringa 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 proto:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
quindi chiama questa operazione con gli argomenti: address = "localhost:2345"
method = "MyService/MyMethod"
Il tensore "request" è un tensore di stringa che rappresenta le stringhe "MyRequestProto" serializzate; e il tensore della stringa di output "response" avrà la stessa forma e conterrà (in caso di completamento positivo) le stringhe "MyResponseProto" serializzate corrispondenti.Ad esempio, per inviare un singolo, vuoto, `MyRequestProto`, chiama questa operazione con `request = ""`. Per inviare 5 richieste parallele vuote, chiama questa operazione con `request = ["", "", "", "", ""]`.
Più in generale, è possibile creare un batch di prototipi serializzati "MyRequestProto" da tensori batch regolari utilizzando l'operazione "encode_proto" e convertire i prototipi serializzati "MyResponseProto" di risposta in tensori batch utilizzando l'operazione "decode_proto".
NOTA Lavorare con stringhe proto serializzate è più veloce che istanziare oggetti proto reali in memoria, quindi non è previsto alcun degrado delle prestazioni rispetto alla scrittura di kernel personalizzati per questo flusso di lavoro.
Se la connessione fallisce o il lavoratore remoto restituisce uno stato di errore, l'operazione solleva nuovamente questa eccezione localmente.
Consulta l'operazione "TryRpc" se preferisci gestire manualmente gli errori RPC nel grafico.
Classi nidificate
classe | Rpc.Opzioni | Attributi facoltativi per Rpc |
Metodi pubblici
Uscita <Stringa> | comeuscita () Restituisce la maniglia simbolica di un tensore. |
Rpc statico | create (ambito dell'ambito , indirizzo dell'operando <String>, metodo dell'operando <String>, richiesta dell'operando <String>, opzioni... opzioni) Metodo factory per creare una classe che racchiude una nuova operazione Rpc. |
Rpc.Options statico | failFast (failFast booleano) |
Rpc.Options statico | protocollo (protocollo String) |
Uscita <Stringa> | risposta () Stessa forma di "richiesta". |
Rpc.Options statico | timeoutInMs (TimeoutInMs lungo) |
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.
creazione Rpc statico pubblico (ambito ambito , indirizzo operando <String>, metodo operando <String>, richiesta operando <String>, opzioni... )
Metodo factory per creare una classe che racchiude una nuova operazione Rpc.
Parametri
portata | ambito attuale |
---|---|
indirizzo | "0-D" o "1-D". L'indirizzo (ovvero nome_host:porta) del server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento viene trasmesso 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 viene trasmesso con "indirizzo" e "richiesta". |
richiesta | "0-D" o "1-D". Stringhe prototipate serializzate: l'argomento della richiesta rpc. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento viene trasmesso con "indirizzo" e "metodo". |
opzioni | trasporta valori di attributi opzionali |
Ritorni
- una nuova istanza di Rpc
public static Rpc.Options failFast (booleano failFast)
Parametri
failFast | "booleano". Se "true" (impostazione predefinita), gli errori di connessione (ovvero, il server non risponde immediatamente) causano un errore RPC. |
---|
protocollo Rpc.Options statico pubblico (protocollo String)
Parametri
protocollo | Protocollo RPC da utilizzare. La stringa vuota indica l'utilizzo del protocollo predefinito. Le opzioni includono 'grpc'. |
---|
risposta pubblica <String> di output ()
Stessa forma di "richiesta". Stringhe prototipate serializzate: le risposte rpc.
public static Rpc.Options timeoutInMs (timeoutInMs lungo)
Parametri
timeoutInMs | "int". Se "0" (impostazione predefinita), il kernel eseguirà la richiesta RPC e andrà in timeout solo se scade la scadenza RPC o se la sessione scade. Se questo valore è maggiore di "0", l'operazione solleverà un'eccezione se l'RPC impiega più tempo di "timeout_in_ms". |
---|