Execute lotes de solicitações RPC.
Esta operação executa de forma assíncrona uma única solicitação RPC ou um lote de solicitações. As solicitações RPC são definidas por três parâmetros principais:
- `endereço` (o host + porta ou endereço BNS da solicitação) -` método` (o nome do método para a solicitação) - `solicitação` (a string proto serializada, ou vetor de strings, do argumento de solicitação RPC).
Por exemplo, se você tem um serviço RPC rodando em localhost port: 2345, e sua interface é configurado com a seguinte declaração proto:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
então chamar esta op com argumentos: address = "localhost:2345"
method = "MyService/MyMethod"
O `tensor request` é um tensor string representando strings `MyRequestProto` serializadas; e o tensor de string de saída `response` terá a mesma forma e conter (após a conclusão bem-sucedida) strings` MyResponseProto` serializadas correspondentes.Por exemplo, para enviar um único e vazio, `MyRequestProto`, chame esta op com` request = "" `. Para enviar 5 pedidos vazias paralelas, chamar esta op com `pedido = [ "", "", "", "", ""]`.
De forma mais geral, pode-se criar um lote de protos serializados `MyRequestProto` a partir de tensores em lote regulares usando a op` encode_proto` e converter a resposta `MyResponseProto` protos serializados em tensores em lote usando a op` decode_proto`.
NOTA Trabalho com cordas proto serializados é mais rápido do que instanciar objetos proto reais na memória, de forma nenhuma degradação de desempenho é esperado comparado a escrever kernels personalizados para este fluxo de trabalho.
Ao contrário do `Rpc` op padrão, se a conexão falha ou o trabalhador remoto retorna um status de erro, este op não reraise a exceção. Em vez disso, a entrada `status_code` e` status_message` para a chamada RPC correspondente é definida com o erro retornado da chamada RPC. O tensor `response` conterá valores de resposta válidos para as entradas de minibatch cujos RPCs não falharam; o restante das entradas terá strings vazias.
Classes aninhadas
classe | TryRpc.Options | Atributos opcionais para TryRpc |
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
estática TryRpc | |
estáticos TryRpc.Options | failfast (booleano failfast) |
estáticos TryRpc.Options | protocolo (protocolo String) |
Output < TString > | resposta () Mesma forma que `solicitação`. |
Output < TInt32 > | statusCode () Mesma forma que `solicitação`. |
Output < TString > | statusMessage () Mesma forma que `solicitação`. |
estáticos TryRpc.Options | timeoutInMs (Long timeoutInMs) |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
public static TryRpc criar ( Scope escopo, Operando < TString > endereço, operando < TString > método, Operando < TString > pedido, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação TryRpc.
Parâmetros
alcance | escopo atual |
---|---|
Morada | `0-D` ou` 1-D`. O endereço (ou seja, host_name: porta) do servidor RPC. Se esse tensor tiver mais de 1 elemento, várias solicitações de rpc paralelas serão enviadas. Este argumento difunde com `método` e` solicitação`. |
método | `0-D` ou` 1-D`. O endereço do método no servidor RPC. Se esse tensor tiver mais de 1 elemento, várias solicitações de rpc paralelas serão enviadas. Este argumento difunde com `address` e` request`. |
solicitar | `0-D` ou` 1-D`. Strings proto serializadas: o argumento de solicitação rpc. Se esse tensor tiver mais de 1 elemento, várias solicitações de rpc paralelas serão enviadas. Este argumento difunde com `endereço` e` método`. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de TryRpc
public static TryRpc.Options failfast (Boolean failfast)
Parâmetros
failFast | `booleano`. Se `true` (padrão), então as falhas de conexão (ou seja, o servidor não responde imediatamente) causam uma falha de RPC. |
---|
public static TryRpc.Options protocol (protocol String)
Parâmetros
protocolo | Protocolo RPC a ser usado. String vazia significa usar o protocolo padrão. As opções incluem 'grpc'. |
---|
pública Output < TString > resposta ()
Mesma forma que `solicitação`. Strings proto serializadas: as respostas rpc.
pública Output < TInt32 > statusCode ()
Mesma forma que `solicitação`. Os valores correspondem aos códigos enum do Status do tensorflow.
pública Output < TString > statusMessage ()
Mesma forma que `solicitação`. Os valores correspondem às mensagens de status retornadas das chamadas RPC.
public static TryRpc.Options timeoutInMs (timeoutInMs Long)
Parâmetros
timeoutInMs | `int`. Se for `0` (padrão), então o kernel executará a solicitação RPC e somente atingirá o tempo limite se o prazo de RPC expirar ou a sessão expirar. Se este valor for maior do que `0`, o op levantará uma exceção se o RPC demorar mais do que` timeout_in_ms`. |
---|