เทนเซอร์โฟลว์:: เสิร์ฟ:: เซิร์ฟเวอร์คอร์
#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 | virtual ServableStateMonitor * ผลตอบแทน 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 )