tensorflow ::サービング:: ServerCore
#include <server_core.h>
ServerCoreは、複数のインタフェースをサポートするModelServersの構築が可能な状態とヘルパーメソッドが含まれています。
概要
すべての機能ServerCoreは、任意のドメイン固有のAPIとプラットフォームに依存しないとは無関係です。
状態の点で、 ServerCoreを使用して初期化し、それがブートストラップそこから静的ModelServerConfig、保持さAspiredVersionsManager効率的な配信をサポートするための補助データ構造。
上に構築されたインタフェースServerCore 、例えばRPCサービスの実装では、ステートレスのままと経由servables(モデル)のすべてのルックアップを実行しますServerCore 。
継承
:から継承tensorflow ::提供::マネージャーコンストラクタとデストラクタ | |
---|---|
~ServerCore () |
パブリックタイプ | |
---|---|
CustomModelConfigLoader | を使用してstd::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> 渡された構成(任意)に基づいて、必要なカスタムソースとソースアダプターをインスタンス化してマネージャーに接続する機能。 |
PreLoadHook | を使用してAspiredVersionsManager::PreLoadHook |
ServableStateMonitorCreator | を使用してstd::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> |
ServerRequestLoggerUpdater | を使用してstd::function< Status(const ModelServerConfig &, ServerRequestLogger *)> server_request_loggerの更新に使用される関数シグネチャ。 |
友達クラス | |
---|---|
test_util::ServerCoreTestAccess | friend class |
公の行事 | |
---|---|
GetServableHandle (const ModelSpec & model_spec, ServableHandle < T > *const handle) | Status 返しServableHandle ModelSpec与えられています。 |
ListAvailableServableIds () const override | virtual std::vector< ServableId > 利用可能なすべてのサービス可能なIDのリストを取得します。 |
Log (const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata) | virtual Status サンプリングすることにした場合、および特定のモデルに対して要求ログが構成されている場合は、特定の要求、応答、およびメタデータのログを書き込みます。 |
ReloadConfig (const ModelServerConfig & config) | virtual Status ModelServerConfigごとに、すべてのモデルとソースでサーバーコアを更新します。 |
predict_response_tensor_serialization_option () const | internal::PredictResponseTensorSerializationOption |
servable_state_monitor () const | virtual ServableStateMonitor * 戻り値のServableStateMonitorサービス提供可能な状態を照会するために使用することができます。 |
パブリック静的関数 | |
---|---|
Create ( Options options, std::unique_ptr< ServerCore > *core) | Status 作成しServerCoreのModelServerConfigあたりのすべてのモデルとソースとのインスタンスを。 |
保護された機能 | |
---|---|
ServerCore ( Options options) |
構造体 | |
---|---|
tensorflow ::サービス提供:: ServerCore ::オプション | オプション設定するためのServerCoreのオブジェクトを。 |
パブリックタイプ
CustomModelConfigLoader
std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> CustomModelConfigLoader
渡された構成(任意)に基づいて、必要なカスタムソースとソースアダプターをインスタンス化してマネージャーに接続する機能。
予想されるパターンは、作成されたソース/ソースアダプターの所有権をマネージャーに譲渡できることです。
PreLoadHook
AspiredVersionsManager::PreLoadHook PreLoadHook
ServableStateMonitorCreator
std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> ServableStateMonitorCreator
ServerRequestLoggerUpdater
std::function< Status(const ModelServerConfig &, ServerRequestLogger *)> ServerRequestLoggerUpdater
server_request_loggerの更新に使用される関数シグネチャ。
友達クラス
test_util :: ServerCoreTestAccess
friend class test_util::ServerCoreTestAccess
公の行事
GetServableHandle
Status GetServableHandle( const ModelSpec & model_spec, ServableHandle< T > *const handle )
返しServableHandle ModelSpec与えられています。
そのようなServableが利用できない場合、たとえばまだロードされていない、静止/アンロードされているなどの場合、エラーを返します。呼び出し元は、OKステータスがnull以外のハンドルを示していると見なす場合があります。
重要:呼び出し元は、たとえば1回のリクエストの間など、ハンドルを短時間だけ保持する必要があります。ハンドルを長時間保持すると、サービスの積み下ろしができなくなります。
'options_.allow_version_labels == true'の場合、2つの特定のモデルバージョンラベル「stable」と「canary」を認識し、それぞれ利用可能な最小バージョンと最大バージョンに解決します。
ListAvailableServableIds
virtual std::vector< ServableId > ListAvailableServableIds() const override
利用可能なすべてのサービス可能なIDのリストを取得します。
これらはそれぞれ、GetServableHandleを使用して取得できます。
ログ
virtual Status Log( const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata )
サンプリングすることにした場合、および特定のモデルに対して要求ログが構成されている場合は、特定の要求、応答、およびメタデータのログを書き込みます。
ReloadConfig
virtual Status ReloadConfig( const ModelServerConfig & config )
ModelServerConfigごとに、すべてのモデルとソースでサーバーコアを更新します。
など)(作成、戻る前に利用可能にされるすべての静的に構成servables待ちを、任意のこのようなモデルは、負荷に失敗した場合にエラーを返します。 (構成から削除されたモデルがアンロードを完了するのを必ずしも待つ必要はありません。非同期で発生する可能性があります。)
重要:ModelConfigListを使用する場合(カスタムモデル構成ではなく)、このメソッドを複数回呼び出すことは合法です。
予測応答_テンソル_シリアル化オプション
internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const
servable_state_monitor
virtual ServableStateMonitor * servable_state_monitor() const
戻り値のServableStateMonitorサービス提供可能な状態を照会するために使用することができます。
〜ServerCore
virtual ~ServerCore()=default
パブリック静的関数
作成
Status Create( Options options, std::unique_ptr< ServerCore > *core )
作成しServerCoreのModelServerConfigあたりのすべてのモデルとソースとのインスタンスを。
ModelConfigListで静的に構成されたモデルの場合、モデルが使用可能になる(またはエラーが発生する)のを待ってから戻ります。そのようなモデルのロードに失敗した場合、エラーステータスを返します。
保護された機能
ServerCore
ServerCore( Options options )