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 ResponsableConstructeurs et destructeurs | |
---|---|
~ServerCore () |
Types publics | |
---|---|
CustomModelConfigLoader | utilisantstd::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 | utilisantAspiredVersionsManager::PreLoadHook |
ServableStateMonitorCreator | utilisantstd::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> |
ServerRequestLoggerUpdater | utilisantstd::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 | virtual ServableStateMonitor * 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 )