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.

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

Classes imbriquées

classe Rpc.Options Attributs facultatifs pour Rpc

Méthodes publiques

Sortie <Chaîne>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
RPC statique
créer (portée de portée , adresse d'opérande <String>, méthode d'opérande <String>, requête d'opérande <String>, 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 <Chaîne>
réponse ()
Même forme que « requête ».
Rpc.Options statique
timeoutInMs (délai d'attente longInMs)

Méthodes héritées

Méthodes publiques

sortie publique <String> asOutput ()

Renvoie le handle symbolique d'un 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.

création Rpc statique publique ( portée de portée , adresse de l'opérande <String>, méthode de l'opérande <String>, requête de l'opérande <String>, 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 ».

réponse publique <String> ()

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