เทนเซอร์โฟลว์:: เสิร์ฟ:: เซิร์ฟเวอร์คอร์

#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 >
รับรายการรหัสที่แสดงได้ทั้งหมด เช่น
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 ที่สามารถใช้ในการค้นหารัฐ servable

ฟังก์ชั่นคงที่สาธารณะ

Create ( Options options, std::unique_ptr< ServerCore > *core)
Status
สร้าง ServerCore เช่นกับทุกรูปแบบและแหล่งที่มาต่อ ModelServerConfig

ฟังก์ชันที่ได้รับการป้องกัน

ServerCore ( Options options)

โครงสร้าง

tensorflow :: การให้บริการ :: ServerCore :: ตัวเลือก

ตัวเลือก สำหรับการกำหนดค่า ServerCore วัตถุ

ประเภทสาธารณะ

CustomModelConfigLoader

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 ดังกล่าว เช่น ยังไม่ได้โหลด ถูกระงับ/ยกเลิกการโหลด ฯลฯ ผู้โทรอาจถือว่าสถานะตกลงบ่งชี้ว่าหมายเลขอ้างอิงที่ไม่ใช่ค่าว่าง

สำคัญ: ผู้โทรควรถือแฮนเดิลไว้เป็นเวลาสั้น ๆ เท่านั้น ตัวอย่างเช่น ในช่วงเวลาของคำขอเดียว การถือที่จับเป็นเวลานานจะป้องกันการขนถ่ายที่ใช้งานได้

หาก 'options_.allow_version_labels==true' ให้รู้จักป้ายกำกับรุ่นเฉพาะสองรุ่น "เสถียร" และ "คานารี" และแก้ไขให้เป็นเวอร์ชันที่เล็กที่สุดและใหญ่ที่สุดที่มีให้ตามลำดับ

ListAvailableServableIds

virtual std::vector< ServableId > ListAvailableServableIds() const override

รับรายการรหัสที่แสดงได้ทั้งหมด เช่น

สามารถดึงข้อมูลเหล่านี้ได้โดยใช้ GetServableHandle

บันทึก

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

เขียนบันทึกสำหรับคำขอ การตอบสนอง และข้อมูลเมตาเฉพาะ หากเราตัดสินใจที่จะสุ่มตัวอย่าง และหากมีการกำหนดค่าการบันทึกคำขอสำหรับรุ่นนั้นๆ

ReloadConfig

virtual Status ReloadConfig(
  const ModelServerConfig & config
)

อัพเดตคอร์เซิร์ฟเวอร์ด้วยโมเดลและแหล่งที่มาทั้งหมดตาม ModelServerConfig

เช่นเดียวกับ การสร้าง () , รอ servables กำหนดค่าคงที่ทั้งหมดที่จะให้บริการก่อนที่จะกลับมาและผลตอบแทนที่มีข้อผิดพลาดถ้ารูปแบบใด ๆ ดังกล่าวล้มเหลวในการโหลด (ไม่จำเป็นต้องรอให้โมเดลถูกลบออกจากการกำหนดค่าเพื่อยกเลิกการโหลดให้เสร็จ ซึ่งอาจเกิดขึ้นแบบอะซิงโครนัส)

สำคัญ: เป็นการถูกกฎหมายที่จะเรียกวิธีนี้มากกว่าหนึ่งครั้งหากใช้ ModelConfigList (เทียบกับการกำหนดค่าโมเดลที่กำหนดเอง)

ทำนาย_response_tensor_serialization_option

internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const 

servable_state_monitor

virtual ServableStateMonitor * servable_state_monitor() const 

ผลตอบแทน ServableStateMonitor ที่สามารถใช้ในการค้นหารัฐ servable

~ServerCore

virtual  ~ServerCore()=default

ฟังก์ชั่นคงที่สาธารณะ

สร้าง

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

สร้าง ServerCore เช่นกับทุกรูปแบบและแหล่งที่มาต่อ ModelServerConfig

สำหรับโมเดลที่กำหนดค่าแบบคงที่ด้วย ModelConfigList ให้รอให้โมเดลพร้อมใช้งาน (หรือเกิดข้อผิดพลาด) เพื่อให้บริการก่อนที่จะกลับมา ส่งกลับสถานะข้อผิดพลาดหากรุ่นดังกล่าวไม่สามารถโหลดได้

ฟังก์ชันที่ได้รับการป้องกัน

เซิร์ฟเวอร์คอร์

 ServerCore(
  Options options
)