Rpc

classe finale publique Rpc

Effectuez des lots de requêtes RPC.

Cette opération exécute de manière asynchrone soit une seule requête RPC, soit un lot de requêtes. Les requêtes RPC sont définies par trois paramètres principaux :

- `address` (l'hôte+port ou l'adresse BNS de la requête) - `method` (le nom de la méthode RPC pour la requête) - `request` (la chaîne proto sérialisée, ou vecteur de chaînes, de l'argument de la requête RPC) .

Par exemple, si vous avez un service RPC exécuté sur le port localhost:2345 et que son interface est configurée avec la déclaration proto suivante :

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
appelez cette opération avec des arguments :
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Le tenseur `request` est un tenseur de chaîne représentant chaînes `MyRequestProto` sérialisées ; et le tenseur de chaîne de sortie « réponse » aura la même forme et contiendra (une fois terminé avec succès) les chaînes sérialisées « MyResponseProto » correspondantes.

Par exemple, pour envoyer un seul `MyRequestProto` vide, appelez cette opération avec `request = ""`. Pour envoyer 5 requêtes vides parallèles , appelez cette opération avec `request = ["", "", "", "", ""]`.

Plus généralement, on peut créer un lot de protos sérialisés `MyRequestProto` à partir de tenseurs par lots réguliers à l'aide de l'opération `encode_proto`, et convertir la réponse des protos sérialisés `MyResponseProto` en tenseurs par lots à l'aide de l'opération `decode_proto`.

REMARQUE Travailler avec des chaînes de protos sérialisées est plus rapide que d'instancier des objets proto réels en mémoire, donc aucune dégradation des performances n'est attendue par rapport à l'écriture de noyaux personnalisés pour ce flux de travail.

Si la connexion échoue ou si le travailleur distant renvoie un état d'erreur, l'opération relance cette exception localement.

Voir l'opération `TryRpc` si vous préférez gérer manuellement les échecs RPC dans le graphique.

Classes imbriquées

classe Rpc.Options Attributs facultatifs pour Rpc

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie < TString >
comme Sortie ()
Renvoie le handle symbolique du tenseur.
Rpc statique
créer ( Portée de portée, Opérande < TString > adresse, Opérande < TString > méthode, Opérande < TString > requête, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération Rpc.
Rpc.Options statique
failFast (booléen failFast)
Rpc.Options statique
protocole (protocole de chaîne)
Sortie < TString >
réponse ()
Même forme que « requête ».
Rpc.Options statique
timeoutInMs (délai d'attente longInMs)

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "Rpc"

Méthodes publiques

sortie publique < TString > asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static Rpc create ( Portée d'étendue , Opérande < TString > adresse, Opérande < TString > méthode, Opérande < TString > requête, Options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération Rpc.

Paramètres
portée portée actuelle
adresse « 0-D » ou « 1-D ». L'adresse (c'est-à-dire nom_hôte:port) du serveur RPC. Si ce tenseur a plus d'un élément, alors plusieurs requêtes rpc parallèles sont envoyées. Cet argument est diffusé avec « méthode » et « demande ».
méthode « 0-D » ou « 1-D ». L'adresse de la méthode sur le serveur RPC. Si ce tenseur a plus d'un élément, alors plusieurs requêtes rpc parallèles sont envoyées. Cet argument est diffusé avec « adresse » et « demande ».
demande « 0-D » ou « 1-D ». Chaînes de proto sérialisées : l'argument de la requête rpc. Si ce tenseur a plus d'un élément, alors plusieurs requêtes rpc parallèles sont envoyées. Cet argument est diffusé avec « adresse » et « méthode ».
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de Rpc

public statique Rpc.Options failFast (booléen failFast)

Paramètres
échecRapide `booléen`. Si « vrai » (par défaut), alors les échecs de connexion (c'est-à-dire que le serveur ne répond pas immédiatement) provoquent un échec RPC.

protocole Rpc.Options statique public (protocole String)

Paramètres
protocole Protocole RPC à utiliser. Une chaîne vide signifie utiliser le protocole par défaut. Les options incluent « grpc ».

sortie publique < TString > réponse ()

Même forme que « requête ». Chaînes de proto-chaînes sérialisées : les réponses rpc.

public statique Rpc.Options timeoutInMs (Long timeoutInMs)

Paramètres
timeoutInMs `int`. Si « 0 » (par défaut), alors le noyau exécutera la requête RPC et n'expirera que si le délai RPC est dépassé ou si la session expire. Si cette valeur est supérieure à « 0 », alors l'opération déclenchera une exception si le RPC prend plus de « timeout_in_ms ».