此页面由 Cloud Translation API 翻译。
Switch to English

张量流:: 服务:: 服务器核心

#include <server_core.h>

ServerCore包含状态和帮助程序方法,这些方法允许构建支持多个接口的ModelServer。

摘要

ServerCore中的所有功能均独立于任何特定于域的API,也独立于平台。

就状态而言, ServerCore会使用初始化并保留静态ModelServerConfig,并从该静态Server中引导AspiredVersionsManager和辅助数据结构以支持高效服务。

ServerCore之上构建的接口(例如RPC服务实现)将保持无状态,并将通过ServerCore执行所有可服务对象(模型)查找。

遗产

继承自: tensorflow :: serving :: Manager

构造函数和析构函数

~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
返回可用于查询可服务状态的ServableStateMonitor

公共静态功能

Create ( Options options, std::unique_ptr< ServerCore > *core)
Status
根据ModelServerConfig创建具有所有模型和源的ServerCore实例。

受保护的功能

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

第707章

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状态指示非空句柄。

重要说明:调用方仅应在短时间内保持句柄,例如在单个请求期间。长时间握住手柄会导致无法进行合理的装载和卸载。

如果“ options_.allow_version_labels == true”,则识别两个特定的模型版本标签“ stable”和“ canary”,并将它们分别解析为最小和最大可用版本。

ListAvailableServableIds

4

获取所有可用的可服务ID的列表,即

这些都可以使用GetServableHandle检索。

记录

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

如果我们决定对其进行抽样并且为特定模型配置了请求日志,则为特定的请求,响应和元数据写入日志。

重新加载配置

virtual Status ReloadConfig(
  const ModelServerConfig & config
)

根据ModelServerConfig使用所有模型和源更新服务器核心。

Create()一样,在返回之前等待所有静态配置的servables可用,如果任何此类模型无法加载,则返回错误。 (不必等待从配置中删除的模型完成卸载;这可能是异步发生的。)

重要说明:如果使用ModelConfigList(与自定义模型配置相反),则多次调用此方法是合法的。

预测响应_张力_序列化选项

internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const 

servable_state_monitor

virtual ServableStateMonitor * servable_state_monitor() const 

返回可用于查询可服务状态的ServableStateMonitor

〜服务器核心

virtual  ~ServerCore()=default

公共静态功能

创造

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

根据ModelServerConfig创建具有所有模型和源的ServerCore实例。

对于使用ModelConfigList静态配置的模型,请在返回之前等待它们变为可用(或出现错误)以供服务。如果任何此类模型无法加载,则返回错误状态。

受保护的功能

服务器核心

 ServerCore(
  Options options
)