टेंसरफ़्लो:: सेवारत:: सर्वरकोर

#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
रिटर्न 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
)