TryRpc

Clase public final TryRpc

Realice lotes de solicitudes RPC.

Esta operación realiza de forma asincrónica una sola solicitud RPC o un lote de solicitudes. Las solicitudes de RPC se definen mediante tres parámetros principales:

- `address` (el host + puerto o dirección BNS de la solicitud) -` method` (el nombre del método para la solicitud) - `request` (la cadena proto serializada, o vector de cadenas, del argumento de solicitud RPC).

Por ejemplo, si usted tiene un servicio RPC ejecuta en el puerto localhost: 2345, y su interfaz está configurada con la siguiente declaración proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
luego llamar a esta operación con argumentos:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
El `tensor de request` es un tensor de cadena que representa cadenas serializadas `MyRequestProto`; y el tensor de cadena de salida `response` tendrá la misma forma y contendrá (una vez completado con éxito) las cadenas de` MyResponseProto` serializadas correspondientes.

Por ejemplo, para enviar un único `MyRequestProto` vacío, llame a esta operación con` request = "" `. Para enviar solicitudes 5 vacíos paralelos, llamar a esta operación con `petición = [ "", "", "", "", ""] '.

De manera más general, se puede crear un lote de protos serializados `MyRequestProto` a partir de tensores en lotes regulares usando la operación` encode_proto`, y convertir la respuesta protos serializados `MyResponseProto` en tensores en lotes usando la operación` decode_proto`.

NOTA Utilización de cadenas proto serializados es más rápido que crear instancias de objetos proto reales en la memoria, por lo que no se espera una disminución del rendimiento en comparación con la escritura núcleos personalizados para este flujo de trabajo.

A diferencia de la norma `op Rpc`, si la conexión falla o el trabajador remoto devuelve un estado de error, esta operación no volver a subir la excepción. En su lugar, la entrada `status_code` y` status_message` para la llamada RPC correspondiente se establece con el error devuelto por la llamada RPC. El tensor de "respuesta" contendrá valores de respuesta válidos para aquellas entradas de minibatch cuyas RPC no fallaron; el resto de las entradas tendrán cadenas vacías.

Clases anidadas

clase TryRpc.Opciones Los atributos opcionales para TryRpc

Constantes

Cuerda OP_NAME El nombre de esta operación, como lo conoce el motor central de TensorFlow

Métodos públicos

estática TryRpc
crear ( Alcance alcance, operando < TString > dirección, operando < TString > método, operando < TString > solicitud, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación TryRpc.
estáticas TryRpc.Options
FAILFAST (Boolean FAILFAST)
estáticas TryRpc.Options
protocolo (protocolo String)
Salida < TString >
respuesta ()
Misma forma que "solicitud".
Salida < TInt32 >
statusCode ()
Misma forma que "solicitud".
Salida < TString >
StatusMessage ()
Misma forma que "solicitud".
estáticas TryRpc.Options
timeoutInMs (Long timeoutInMs)

Métodos heredados

Constantes

OP_NAME pública final static String

El nombre de esta operación, como lo conoce el motor central de TensorFlow

Valor constante: "TryRpc"

Métodos públicos

public static TryRpc crear ( Alcance alcance, operando < TString > dirección, operando < TString > método, operando < TString > solicitud, Opciones ... Opciones)

Método de fábrica para crear una clase que envuelva una nueva operación TryRpc.

Parámetros
alcance alcance actual
Dirección "0-D" o "1-D". La dirección (es decir, nombre_host: puerto) del servidor RPC. Si este tensor tiene más de 1 elemento, se envían múltiples solicitudes rpc en paralelo. Este argumento se transmite con "método" y "solicitud".
método "0-D" o "1-D". La dirección del método en el servidor RPC. Si este tensor tiene más de 1 elemento, se envían múltiples solicitudes rpc en paralelo. Este argumento se transmite con `dirección` y` solicitud`.
solicitud "0-D" o "1-D". Cadenas proto serializadas: el argumento de solicitud rpc. Si este tensor tiene más de 1 elemento, se envían múltiples solicitudes rpc en paralelo. Este argumento se transmite con `dirección` y` método`.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de TryRpc

public static TryRpc.Options FAILFAST (booleano FAILFAST)

Parámetros
Fallar rapido `booleano`. Si es "verdadero" (predeterminado), las fallas en la conexión (es decir, el servidor no responde de inmediato) causan una falla en el RPC.

public static TryRpc.Options protocolo (protocolo de cadena)

Parámetros
protocolo Protocolo RPC a utilizar. Cadena vacía significa utilizar el protocolo predeterminado. Las opciones incluyen 'grpc'.

pública de salida < TString > Respuesta ()

Misma forma que "solicitud". Protocadenas serializadas: las respuestas rpc.

pública de salida < TInt32 > statusCode ()

Misma forma que "solicitud". Los valores corresponden a los códigos de enumeración de estado de tensorflow.

pública de salida < TString > StatusMessage ()

Misma forma que "solicitud". Los valores corresponden a los mensajes de estado devueltos por las llamadas RPC.

estáticas pública TryRpc.Options timeoutInMs (Long timeoutInMs)

Parámetros
timeoutInMs `int`. Si es "0" (predeterminado), entonces el kernel ejecutará la solicitud RPC y solo agotará el tiempo de espera si la fecha límite de RPC pasa o la sesión se agota. Si este valor es mayor que "0", la operación generará una excepción si el RPC tarda más de "timeout_in_ms".