Rpc

clase final pública Rpc

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 RPC para la solicitud) - `request` (la cadena proto serializada, o vector de cadenas, del argumento de solicitud RPC) .

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

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

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

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

NOTA Trabajar con proto strings serializadas es más rápido que instanciar objetos proto reales en la memoria, por lo que no se espera una degradación del rendimiento en comparación con la escritura de kernels personalizados para este flujo de trabajo.

Si la conexión falla o el trabajador remoto devuelve un estado de error, el operador vuelve a generar esta excepción localmente.

Consulte la operación `TryRpc` si prefiere manejar las fallas de RPC manualmente en el gráfico.

Clases anidadas

clase Opciones de Rpc Atributos opcionales para Rpc

Métodos públicos

Salida <String>
asOutput ()
Devuelve el identificador simbólico de un tensor.
Rpc estático
crear ( Alcance alcance, operando <String> dirección, operando <String> método, operando <String> solicitud, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación Rpc.
Opciones de Rpc estáticas
failFast (Booleano failFast)
Opciones de Rpc estáticas
Salida <String>
respuesta ()
Misma forma que "solicitud".
Opciones de Rpc estáticas
timeoutInMs (Long timeoutInMs)

Métodos heredados

Métodos públicos

Salida pública <String> asOutput ()

Devuelve el identificador simbólico de un tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

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

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

Parámetros
alcance alcance actual
habla a "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`.
pedido "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 Rpc

Opciones de Rpc estáticas públicas failFast (FailFast booleano)

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

Protocolo de opciones públicas estáticas de Rpc (protocolo de cadena)

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

salida pública <String> respuesta ()

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

Rpc.Options estáticas públicas 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 pasa la fecha límite de RPC o se agota el tiempo de espera de la sesión. Si este valor es mayor que "0", la operación generará una excepción si el RPC tarda más de "timeout_in_ms".