텐서플로:: 피복재:: 서버코어
#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의 개체를. |
공개 유형
사용자 정의 모델 구성 로더
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 )