dòng chảy :: phục vụ :: ServerCore
#include <server_core.h>
ServerCore chứa phương pháp nhà nước và helper cho phép việc xây dựng ModelServers có hỗ trợ nhiều giao diện.
Bản tóm tắt
Tất cả các chức năng trong ServerCore không phụ thuộc vào bất kỳ API cụ thể tên miền và không phụ thuộc vào nền tảng.
Trong điều kiện của nhà nước, ServerCore được khởi tạo với và giữ lại một tĩnh ModelServerConfig, mà từ đó nó bootstraps một AspiredVersionsManager và cấu trúc dữ liệu phụ trợ để hỗ trợ phục vụ hiệu quả.
Giao diện được xây dựng trên ServerCore , ví dụ như việc triển khai dịch vụ RPC, sẽ vẫn không quốc tịch và sẽ thực hiện tất cả tra cứu của servables (mô hình) thông qua ServerCore .
Di sản
Inherits từ: tensorflow :: phục vụ :: Quản lýNgười xây dựng và Người phá hủy | |
---|---|
~ServerCore () |
Các loại công khai | |
---|---|
CustomModelConfigLoader | sử dụngstd::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> Một chức năng chịu trách nhiệm khởi tạo và kết nối các nguồn tùy chỉnh cần thiết và bộ điều hợp nguồn với trình quản lý dựa trên cấu hình được chuyển vào (bất kỳ). |
PreLoadHook | sử dụngAspiredVersionsManager::PreLoadHook |
ServableStateMonitorCreator | sử dụngstd::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> |
ServerRequestLoggerUpdater | sử dụngstd::function< Status(const ModelServerConfig &, ServerRequestLogger *)> Chữ ký hàm được sử dụng để cập nhật server_request_logger. |
Lớp học bạn bè | |
---|---|
test_util::ServerCoreTestAccess | friend class |
Chức năng công cộng | |
---|---|
GetServableHandle (const ModelSpec & model_spec, ServableHandle < T > *const handle) | Status Trả về một ServableHandle cho một ModelSpec. |
ListAvailableServableIds () const override | virtual std::vector< ServableId > Nhận danh sách tất cả các id dịch vụ có sẵn, tức là |
Log (const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata) | virtual Status Viết nhật ký cho yêu cầu, phản hồi và siêu dữ liệu cụ thể, nếu chúng tôi quyết định lấy mẫu và nếu ghi nhật ký yêu cầu đã được định cấu hình cho mô hình cụ thể. |
ReloadConfig (const ModelServerConfig & config) | virtual Status Cập nhật lõi máy chủ với tất cả các mô hình và nguồn theo ModelServerConfig. |
predict_response_tensor_serialization_option () const | internal::PredictResponseTensorSerializationOption |
servable_state_monitor () const | virtual ServableStateMonitor * Returns ServableStateMonitor có thể được sử dụng để truy vấn trạng thái thể phân phát. |
Các chức năng tĩnh công khai | |
---|---|
Create ( Options options, std::unique_ptr< ServerCore > *core) | Status Tạo một ServerCore dụ với tất cả các mô hình và các nguồn theo ModelServerConfig. |
Các chức năng được bảo vệ | |
---|---|
ServerCore ( Options options) |
Cấu trúc | |
---|---|
tensorflow :: phục vụ :: ServerCore :: Tùy chọn | Tùy chọn để cấu hình một ServerCore đối tượng. |
Các loại công khai
CustomModelConfigLoader
std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> CustomModelConfigLoader
Một chức năng chịu trách nhiệm khởi tạo và kết nối các nguồn tùy chỉnh cần thiết và bộ điều hợp nguồn với trình quản lý dựa trên cấu hình được chuyển vào (bất kỳ).
Mô hình mong đợi là quyền sở hữu các nguồn / bộ điều hợp nguồn đã tạo có thể được chuyển giao cho người quản lý.
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
Chữ ký hàm được sử dụng để cập nhật server_request_logger.
Lớp học bạn bè
test_util :: ServerCoreTestAccess
friend class test_util::ServerCoreTestAccess
Chức năng công cộng
GetServableHandle
Status GetServableHandle( const ModelSpec & model_spec, ServableHandle< T > *const handle )
Trả về một ServableHandle cho một ModelSpec.
Trả về lỗi nếu không có sẵn Có thể phục vụ như chưa được tải, đã được buộc / chưa tải, v.v. Người gọi có thể cho rằng trạng thái OK chỉ ra một xử lý không rỗng.
QUAN TRỌNG: Người gọi chỉ nên giữ một tay cầm trong thời gian ngắn, chẳng hạn như trong khoảng thời gian của một yêu cầu. Giữ tay cầm trong một thời gian dài sẽ ngăn cản việc xếp dỡ hàng hóa có thể bảo dưỡng được.
Nếu 'options_.allow_version_labels == true', nhận dạng hai nhãn phiên bản mô hình cụ thể "ổn định" và "canary" và phân giải chúng thành phiên bản nhỏ nhất và lớn nhất có sẵn, tương ứng.
ListAvailableServableIds
virtual std::vector< ServableId > ListAvailableServableIds() const override
Nhận danh sách tất cả các id dịch vụ có sẵn, tức là
mỗi cái trong số này có thể được truy xuất bằng GetServableHandle.
Nhật ký
virtual Status Log( const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata )
Viết nhật ký cho yêu cầu, phản hồi và siêu dữ liệu cụ thể, nếu chúng tôi quyết định lấy mẫu và nếu ghi nhật ký yêu cầu đã được định cấu hình cho mô hình cụ thể.
Nạp lại
virtual Status ReloadConfig( const ModelServerConfig & config )
Cập nhật lõi máy chủ với tất cả các mô hình và nguồn theo ModelServerConfig.
Giống như Create () , chờ đợi cho tất cả servables tĩnh cấu hình để được cung cấp trước khi trở về, và trả về một lỗi nếu bất kỳ mô hình như vậy không tải. (Không nhất thiết phải đợi các mô hình bị xóa khỏi cấu hình hoàn tất quá trình tải; điều đó có thể xảy ra không đồng bộ.)
QUAN TRỌNG: Chỉ hợp pháp để gọi phương thức này nhiều lần nếu sử dụng ModelConfigList (so với cấu hình mô hình tùy chỉnh).
dự đoán_response_tensor_serialization_option
internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const
servable_state_monitor
virtual ServableStateMonitor * servable_state_monitor() const
Returns ServableStateMonitor có thể được sử dụng để truy vấn trạng thái thể phân phát.
~ ServerCore
virtual ~ServerCore()=default
Các chức năng tĩnh công khai
Tạo ra
Status Create( Options options, std::unique_ptr< ServerCore > *core )
Tạo một ServerCore dụ với tất cả các mô hình và các nguồn theo ModelServerConfig.
Đối với các mô hình được định cấu hình tĩnh với ModelConfigList, hãy đợi chúng sẵn sàng (hoặc gặp lỗi) để phân phối trước khi trả lại. Trả về trạng thái lỗi nếu bất kỳ mô hình nào như vậy không tải được.
Các chức năng được bảo vệ
ServerCore
ServerCore( Options options )