텐서플로:: 피복재:: 서버코어

#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
반환 ServableStateMonitor 게재 가능한 상태를 조회 할 수 있습니다.

공개 정적 함수

Create ( Options options, std::unique_ptr< ServerCore > *core)
Status
작성 ServerCore의 ModelServerConfig 당 모든 모델과 소스와 인스턴스를.

보호된 기능

ServerCore ( Options options)

구조체

tensorflow :: 제공 : ServerCore :: 옵션

옵션 구성 ServerCore의 개체를.

공개 유형

사용자 정의 모델 구성 로더

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

전달된 구성(모든)을 기반으로 필요한 사용자 지정 소스 및 소스 어댑터를 인스턴스화하고 관리자에 연결하는 기능을 담당합니다.

예상되는 패턴은 생성된 소스/소스 어댑터의 소유권이 관리자에게 이전될 수 있다는 것입니다.

프리로드훅

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이 아닌 핸들을 나타내는 것으로 가정할 수 있습니다.

중요: 호출자는 짧은 시간 동안만 핸들을 잡고 있어야 합니다(예: 단일 요청 기간 동안). 핸들을 장기간 잡고 있으면 서빙 가능한 적재 및 하역을 방지할 수 있습니다.

'options_.allow_version_labels==true'인 경우 두 개의 특정 모델 버전 레이블 "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
)

샘플링하기로 결정하고 특정 모델에 대해 요청 로깅이 구성된 경우 특정 요청, 응답 및 메타데이터에 대한 로그를 씁니다.

다시 로드 구성

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 게재 가능한 상태를 조회 할 수 있습니다.

~서버코어

virtual  ~ServerCore()=default

공개 정적 함수

만들다

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

작성 ServerCore의 ModelServerConfig 당 모든 모델과 소스와 인스턴스를.

ModelConfigList로 정적으로 구성된 모델의 경우 반환하기 전에 제공할 수 있게 될 때까지 기다리거나 오류가 발생합니다. 이러한 모델이 로드되지 않으면 오류 상태를 반환합니다.

보호된 기능

서버코어

 ServerCore(
  Options options
)