Rpc

Rpc public final class

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 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.

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 de Rpc. Los atributos opcionales para Rpc

Constantes

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

Métodos públicos

Salida < TString >
asOutput ()
Devuelve el identificador simbólico del tensor.
estática Rpc
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 Rpc.
estáticas Rpc.Options
FAILFAST (Boolean FAILFAST)
estáticas Rpc.Options
protocolo (protocolo String)
Salida < TString >
respuesta ()
Misma forma que "solicitud".
estáticas Rpc.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: "RPC"

Métodos públicos

pública de salida < TString > asOutput ()

Devuelve el identificador simbólico del 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 < 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 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 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 Rpc

public static Rpc.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 Rpc.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.

estáticas pública Rpc.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".