टेंसरफ़्लो:: सेवारत:: सर्वरकोर
#include <server_core.h>
ServerCore ModelServers कि कई इंटरफेस का समर्थन के निर्माण को सक्रिय राज्य और सहायक तरीकों में शामिल है।
सारांश
के सभी कार्यक्षमता ServerCore किसी भी डोमेन विशिष्ट एपीआई के स्वतंत्र और प्लेटफार्मों से स्वतंत्र है।
राज्य के संदर्भ में, ServerCore साथ प्रारंभ और एक स्थिर ModelServerConfig, जिसमें से यह एक bootstraps को बरकरार रखे हुए है 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 *)> सर्वर_रेक्वेस्ट_लॉगर को अपडेट करने के लिए उपयोग किए जाने वाले फंक्शन सिग्नेचर। |
मित्र वर्ग | |
---|---|
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
सर्वर_रेक्वेस्ट_लॉगर को अपडेट करने के लिए उपयोग किए जाने वाले फंक्शन सिग्नेचर।
मित्र वर्ग
test_util::ServerCoreTestAccess
friend class test_util::ServerCoreTestAccess
सार्वजनिक समारोह
सेवा योग्य हैंडल प्राप्त करें
Status GetServableHandle( const ModelSpec & model_spec, ServableHandle< T > *const handle )
एक रिटर्न ServableHandle दिया एक ModelSpec।
यदि ऐसा कोई सर्व करने योग्य उपलब्ध नहीं है, उदाहरण के लिए अभी तक लोड नहीं किया गया है, बंद/अनलोड किया गया है, आदि। कॉल करने वाले मान सकते हैं कि एक ठीक स्थिति एक गैर-शून्य हैंडल को इंगित करती है।
महत्वपूर्ण: कॉल करने वाले को केवल थोड़े समय के लिए हैंडल को होल्ड करना चाहिए, उदाहरण के लिए एकल अनुरोध की अवधि के लिए। लंबे समय तक एक हैंडल रखने से सेवा योग्य लोडिंग और अनलोडिंग को रोका जा सकेगा।
यदि 'options_.allow_version_labels==true', दो विशिष्ट मॉडल संस्करण लेबल "स्थिर" और "कैनरी" को पहचानता है और उन्हें क्रमशः सबसे छोटे और सबसे बड़े उपलब्ध संस्करण में हल करता है।
सूची उपलब्ध सर्व करने योग्य आईडी
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 )
विशेष अनुरोध, प्रतिक्रिया और मेटाडेटा के लिए लॉग लिखता है, यदि हम इसका नमूना लेने का निर्णय लेते हैं और यदि अनुरोध-लॉगिंग विशेष मॉडल के लिए कॉन्फ़िगर किया गया था।
रीलोडकॉन्फिग
virtual Status ReloadConfig( const ModelServerConfig & config )
ModelServerConfig के अनुसार सभी मॉडलों और स्रोतों के साथ सर्वर कोर को अपडेट करता है।
जैसा बनाएं () , सभी स्थिर कॉन्फ़िगर किया गया servables की प्रतीक्षा करता लौटने से पहले उपलब्ध कराया जाना है, और एक त्रुटि रिटर्न किसी भी तरह के मॉडल लोड करने में विफल रहता है, तो। (आवश्यक रूप से अनलोडिंग समाप्त करने के लिए कॉन्फ़िगरेशन से हटाए गए मॉडल की प्रतीक्षा नहीं करता है; जो अतुल्यकालिक रूप से हो सकता है।)
महत्वपूर्ण: ModelConfigList (बनाम कस्टम मॉडल कॉन्फ़िगरेशन) का उपयोग करते समय इस विधि को एक से अधिक बार कॉल करना केवल कानूनी है।
भविष्यवाणी_प्रतिक्रिया_टेंसर_क्रमानुसार_विकल्प
internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const
सर्व करने योग्य_राज्य_मॉनिटर
virtual ServableStateMonitor * servable_state_monitor() const
रिटर्न ServableStateMonitor कि servable राज्यों क्वेरी करने के लिए इस्तेमाल किया जा सकता।
~सर्वरकोर
virtual ~ServerCore()=default
सार्वजनिक स्थैतिक कार्य
सृजन करना
Status Create( Options options, std::unique_ptr< ServerCore > *core )
एक बनाता है ServerCore सभी मॉडल और ModelServerConfig प्रति स्रोतों के साथ उदाहरण।
ModelConfigList के साथ स्थिर रूप से कॉन्फ़िगर किए गए मॉडल के लिए, लौटने से पहले सेवा के लिए उन्हें उपलब्ध कराने (या एक त्रुटि मारा) की प्रतीक्षा करता है। यदि ऐसा कोई मॉडल लोड होने में विफल रहता है तो एक त्रुटि स्थिति लौटाता है।
संरक्षित कार्य
सर्वरकोर
ServerCore( Options options )