ExperimenteRpc

classe final pública TryRpc

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:

- `address` (o host+porta ou endereço BNS da solicitação) - `method` (o nome do método para a solicitação) - `request` (a proto string serializada, ou vetor de strings, do argumento da solicitação RPC).

Por exemplo, se você tiver um serviço RPC rodando na porta localhost:2345, e sua interface estiver configurada com a seguinte declaração proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
então chame esta operação com argumentos:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
O tensor `request` é um tensor de string representando strings `MyRequestProto` serializadas; e o tensor de string de saída `response` terá o mesmo formato e conterá (após a conclusão bem-sucedida) strings `MyResponseProto` serializadas correspondentes.

Por exemplo, para enviar um único `MyRequestProto` vazio, chame esta operação com `request = ""`. Para enviar 5 solicitações vazias paralelas , chame esta operação com `request = ["", "", "", "", ""]`.

De forma mais geral, pode-se criar um lote de protos serializados `MyRequestProto` a partir de tensores em lote regulares usando a operação `encode_proto` e converter os protos serializados de resposta `MyResponseProto` em tensores em lote usando a operação `decode_proto`.

NOTA Trabalhar com proto strings serializadas é mais rápido do que instanciar objetos proto reais na memória, portanto, nenhuma degradação de desempenho é esperada em comparação com a gravação de kernels personalizados para este fluxo de trabalho.

Ao contrário da operação `Rpc` padrão, se a conexão falhar ou o trabalhador remoto retornar um status de erro, esta operação não gerará novamente a exceção. Em vez disso, as entradas `status_code` e `status_message` para a chamada RPC correspondente são definidas com o erro retornado da chamada RPC. O tensor `response` conterá valores de resposta válidos para as entradas do minibatch cujos RPCs não falharam; o restante das entradas terá strings vazias.

Classes aninhadas

aula TryRpc.Options Atributos opcionais para TryRpc

Métodos Públicos

TryRpc estático
create (escopo do escopo , endereço do operando <String>, método do operando <String>, solicitação do operando <String>, opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação TryRpc.
TryRpc.Options estático
failFast (booleano failFast)
TryRpc.Options estático
protocolo (protocolo String)
Saída <String>
resposta ()
Mesma forma que `request`.
Saída <Inteiro>
código de status ()
Mesma forma que `request`.
Saída <String>
mensagem de status ()
Mesma forma que `request`.
TryRpc.Options estático
timeoutInMs (tempo limite longoInMs)

Métodos herdados

Métodos Públicos

public static TryRpc create (escopo do escopo , endereço do operando <String>, método do operando <String>, solicitação do operando <String>, opções... opções)

Método de fábrica para criar uma classe que envolve uma nova operação TryRpc.

Parâmetros
escopo escopo atual
endereço `0-D` ou `1-D`. O endereço (ou seja, host_name:porta) do servidor RPC. Se este tensor tiver mais de 1 elemento, várias solicitações RPC paralelas serão enviadas. Este argumento é transmitido com `método` e `request`.
método `0-D` ou `1-D`. O endereço do método no servidor RPC. Se este tensor tiver mais de 1 elemento, várias solicitações RPC paralelas serão enviadas. Este argumento é transmitido com `address` e `request`.
solicitar `0-D` ou `1-D`. Strings proto serializadas: o argumento de solicitação rpc. Se este tensor tiver mais de 1 elemento, várias solicitações RPC paralelas serão enviadas. Este argumento é transmitido com `address` e `method`.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância do TryRpc

public static TryRpc.Options failFast (booleano failFast)

Parâmetros
falharFast `booleano`. Se for `true` (padrão), então falhas na conexão (ou seja, o servidor não responde imediatamente) causam uma falha de RPC.

Protocolo TryRpc.Options estático público (protocolo String)

Parâmetros
protocolo Protocolo RPC a ser usado. String vazia significa usar o protocolo padrão. As opções incluem 'grpc'.

saída pública <String> resposta ()

Mesma forma que `request`. Strings proto serializadas: as respostas rpc.

Saída pública <Inteiro> statusCode ()

Mesma forma que `request`. Os valores correspondem aos códigos enum de status do tensorflow.

Saída pública <String> statusMessage ()

Mesma forma que `request`. Os valores correspondem às mensagens de status retornadas das chamadas RPC.

público estático TryRpc.Options timeoutInMs (tempo limite longoInMs)

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 do RPC passar ou se a sessão expirar. Se este valor for maior que `0`, então a operação gerará uma exceção se o RPC demorar mais que `timeout_in_ms`.