tensorflow :: portion:: Cœur du serveur

#include <server_core.h>

ServerCore contient des méthodes de l' état et auxiliaires permettant la construction de ModelServers qui prennent en charge de multiples interfaces.

Résumé

Toutes les fonctionnalités de ServerCore est indépendant de toutes les API de domaine spécifique et indépendant des plates - formes.

En termes d'état, ServerCore est initialisé avec et retient un statique ModelServerConfig, d'où il Bootstraps une AspiredVersionsManager structures de données auxiliaires et de support servant efficace.

Interfaces construites au- dessus ServerCore , par exemple implémentations de service RPC, resteront sans état et effectuera toutes les recherches de servables (modèles) via ServerCore .

Héritage

Hérite de: tensorflow :: :: service Responsable

Constructeurs et destructeurs

~ServerCore ()

Types publics

CustomModelConfigLoader utilisant
std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)>
Une fonction qui est responsable de l'instanciation et de la connexion des sources personnalisées et des adaptateurs de source nécessaires au gestionnaire en fonction d'une configuration transmise (n'importe laquelle).
PreLoadHook utilisant
AspiredVersionsManager::PreLoadHook
ServableStateMonitorCreator utilisant
std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)>
ServerRequestLoggerUpdater utilisant
std::function< Status(const ModelServerConfig &, ServerRequestLogger *)>
Signature de fonction utilisée pour mettre à jour le server_request_logger.

Cours d'amis

test_util::ServerCoreTestAccess
friend class

Fonctions publiques

GetServableHandle (const ModelSpec & model_spec, ServableHandle < T > *const handle)
Status
Renvoie un ServableHandle donné une ModelSpec.
ListAvailableServableIds () const override
virtual std::vector< ServableId >
Obtient une liste de tous les identifiants utilisables disponibles, c'est-à-dire
Log (const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata)
virtual Status
Écrit le journal pour la requête, la réponse et les métadonnées particulières, si nous décidons de l'échantillonner et si la journalisation des requêtes a été configurée pour le modèle particulier.
ReloadConfig (const ModelServerConfig & config)
virtual Status
Met à jour le noyau du serveur avec tous les modèles et sources selon ModelServerConfig.
predict_response_tensor_serialization_option () const
internal::PredictResponseTensorSerializationOption
servable_state_monitor () const
Retours ServableStateMonitor qui peut être utilisé pour interroger les états diffusable.

Fonctions statiques publiques

Create ( Options options, std::unique_ptr< ServerCore > *core)
Status
Crée un ServerCore exemple avec tous les modèles et les sources par l'ModelServerConfig.

Fonctions protégées

ServerCore ( Options options)

Structures

tensorflow :: :: service ServerCore :: options

Options pour la configuration d' un ServerCore objet.

Types publics

CustomModelConfigLoader

std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> CustomModelConfigLoader

Une fonction qui est responsable de l'instanciation et de la connexion des sources personnalisées et des adaptateurs de source nécessaires au gestionnaire en fonction d'une configuration transmise (n'importe laquelle).

Le modèle attendu est que la propriété des sources/adaptateurs de source créés peut être transférée au gestionnaire.

Crochet de précharge

AspiredVersionsManager::PreLoadHook PreLoadHook

ServableStateMonitorCréateur

std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> ServableStateMonitorCreator

ServerRequestLoggerUpdater

std::function< Status(const ModelServerConfig &, ServerRequestLogger *)> ServerRequestLoggerUpdater

Signature de fonction utilisée pour mettre à jour le server_request_logger.

Cours d'amis

test_util::ServerCoreTestAccess

friend class test_util::ServerCoreTestAccess

Fonctions publiques

GetServableHandle

Status GetServableHandle(
  const ModelSpec & model_spec,
  ServableHandle< T > *const handle
)

Renvoie un ServableHandle donné une ModelSpec.

Renvoie une erreur si aucun Servable n'est disponible, par exemple pas encore chargé, a été mis au repos/déchargé, etc. Les appelants peuvent supposer qu'un état OK indique un descripteur non nul.

IMPORTANT : L'appelant ne doit conserver une poignée que pendant une courte période, par exemple pour la durée d'une seule demande. Tenir une poignée pendant une longue période empêchera le chargement et le déchargement utilisables.

Si 'options_.allow_version_labels==true', reconnaît deux étiquettes de version de modèle spécifiques "stable" et "canary" et les résout respectivement en la plus petite et la plus grande version disponible.

ListAvailableServableIds

virtual std::vector< ServableId > ListAvailableServableIds() const override

Obtient une liste de tous les identifiants utilisables disponibles, c'est-à-dire

chacun d'eux peut être récupéré à l'aide de GetServableHandle.

Enregistrer

virtual Status Log(
  const google::protobuf::Message & request,
  const google::protobuf::Message & response,
  const LogMetadata & log_metadata
)

Écrit le journal pour la requête, la réponse et les métadonnées particulières, si nous décidons de l'échantillonner et si la journalisation des requêtes a été configurée pour le modèle particulier.

RechargerConfig

virtual Status ReloadConfig(
  const ModelServerConfig & config
)

Met à jour le noyau du serveur avec tous les modèles et sources selon ModelServerConfig.

Comme Créer () , attend tous servables configurés statiquement pour être mis à disposition avant de revenir, et renvoie une erreur si un tel modèle ne se charge pas . (N'attend pas nécessairement que les modèles supprimés de la configuration terminent le déchargement ; cela peut se produire de manière asynchrone.)

IMPORTANT : il n'est légal d'appeler cette méthode plus d'une fois que si vous utilisez ModelConfigList (par opposition à une configuration de modèle personnalisée).

predict_response_tensor_serialization_option

internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const 

servable_state_monitor

virtual ServableStateMonitor * servable_state_monitor() const 

Retours ServableStateMonitor qui peut être utilisé pour interroger les états diffusable.

~Noyau du serveur

virtual  ~ServerCore()=default

Fonctions statiques publiques

Créer

Status Create(
  Options options,
  std::unique_ptr< ServerCore > *core
)

Crée un ServerCore exemple avec tous les modèles et les sources par l'ModelServerConfig.

Pour les modèles configurés de manière statique avec ModelConfigList, attend qu'ils soient disponibles (ou rencontre une erreur) pour être diffusés avant de revenir. Renvoie un état d'erreur si l'un de ces modèles ne parvient pas à se charger.

Fonctions protégées

Cœur du serveur

 ServerCore(
  Options options
)