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 RPC 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 em execução na porta localhost: 2345, e sua interface está configurada com a seguinte declaração proto:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
então chame esta op com os argumentos: address = "localhost:2345"
method = "MyService/MyMethod"
O tensor `request` é um tensor string representando` MyRequestProto` serializado cordas; 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 solicitações vazias paralelas , chame este op com `request = [" "," "," "," "," "]`.
De forma mais geral, pode-se criar um lote de protos serializados `MyRequestProto` a partir de tensores em lote regulares usando op` encode_proto` e converter a resposta `MyResponseProto` protos serializados em tensores em lote usando op` decode_proto`.
OBSERVAÇÃO Trabalhar com strings proto 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 escrita de kernels personalizados para este fluxo de trabalho.
Se a conexão falhar ou o trabalhador remoto retornar um status de erro, o op reaumentará essa exceção localmente.
Veja a operação `TryRpc` se você preferir lidar com falhas RPC manualmente no gráfico.
Classes aninhadas
aula | Rpc.Options | Atributos opcionais para Rpc |
Métodos Públicos
Saída <> | asOutput () Retorna o identificador simbólico de um tensor. |
Rpc estático | |
static Rpc.Options | failFast (Boolean failFast) |
static Rpc.Options | |
Saída <> | resposta () Mesma forma que `solicitação`. |
static Rpc.Options | timeoutInMs (longo timeoutInMs) |
Métodos herdados
Métodos Públicos
Public Output <String> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static Rpc criar ( Scope escopo, Operando <String> endereço, operando <String> método, Operando <String> pedido, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação Rpc.
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 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`. |
solicitação | `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 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 Rpc
public static Rpc.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. |
---|
protocolo público estático Rpc.Options (protocolo String)
Parâmetros
protocolo | Protocolo RPC a ser usado. String vazia significa usar o protocolo padrão. As opções incluem 'grpc'. |
---|
Resposta public Output <String> ()
Mesma forma que `solicitação`. Strings proto serializadas: as respostas rpc.
public static Rpc.Options timeoutInMs (Long timeoutInMs)
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`, então o op levantará uma exceção se o RPC demorar mais do que` timeout_in_ms`. |
---|