RPC

clase final pública Rpc

Realizar lotes de solicitudes RPC.

Esta operación realiza de forma asincrónica una única solicitud RPC o un lote de solicitudes. Las solicitudes RPC están definidas por tres parámetros principales:

- `dirección` (el host+puerto o dirección BNS de la solicitud) - `método` (el nombre del método RPC para la solicitud) - `solicitud` (la protocadena serializada, o vector de cadenas, del argumento de la 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 `solicitud` es un tensor de cadena que representa cadenas serializadas `MyRequestProto`; y el tensor de cadena de salida `respuesta` tendrá la misma forma y contendrá (una vez completado con éxito) las correspondientes cadenas serializadas `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 los protos serializados de respuesta `MyResponseProto` en tensores por lotes usando la operación `decode_proto`.

NOTA Trabajar con cadenas de proto serializadas es más rápido que crear instancias de objetos de proto reales en la memoria, por lo que no se espera ninguna degradación del rendimiento en comparación con escribir núcleos personalizados para este flujo de trabajo.

Si la conexión falla o el trabajador remoto devuelve un estado de error, la operación 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 Rpc Atributos opcionales para Rpc

Métodos públicos

Salida <Cadena>
como salida ()
Devuelve el identificador simbólico de un tensor.
RPC estática
crear (alcance del alcance , dirección del operando <String>, método del operando <String>, solicitud del operando <String>, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación Rpc.
Opciones Rpc estáticas
failFast (fallFast booleano)
Opciones Rpc estáticas
protocolo (protocolo de cadena)
Salida <Cadena>
respuesta ()
Misma forma que "solicitud".
Opciones Rpc estáticas
timeoutInMs (tiempo de espera largo en Ms)

Métodos heredados

Métodos públicos

Salida pública <Cadena> comoSalida ()

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.

creación de Rpc estática pública (alcance del alcance , dirección del operando <String>, método del operando <String>, solicitud del operando <String>, opciones... opciones)

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

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 varias solicitudes rpc paralelas. 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 varias solicitudes rpc paralelas. Este argumento se transmite con "dirección" y "solicitud".
pedido `0-D` o `1-D`. Protocadenas serializadas: el argumento de solicitud rpc. Si este tensor tiene más de 1 elemento, se envían varias solicitudes rpc paralelas. Este argumento se transmite con "dirección" y "método".
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de Rpc

público estático Rpc.Options failFast (fallFast booleano)

Parámetros
Fallar rapido `booleano`. Si es "verdadero" (predeterminado), las fallas al conectarse (es decir, el servidor no responde inmediatamente) causan una falla de RPC.

Protocolo público estático Rpc.Options (protocolo de cadena)

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

respuesta pública de salida <Cadena> ()

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

Rpc.Options estático público timeoutInMs (tiempo de espera largo en Ms)

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