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ụng
std::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ụng
AspiredVersionsManager::PreLoadHook
ServableStateMonitorCreator sử dụng
std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)>
ServerRequestLoggerUpdater sử dụng
std::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
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
)