कैश प्राप्त करें
कैश प्रविष्टि से पहले से संग्रहीत मान प्राप्त करता है।
छवि के वीडियो पहचानकर्ता को नेमस्पेस के रूप में उपयोग करके, किसी इन-मेमोरी कैश से कुंजी द्वारा पहले से संग्रहीत मान को पुनः प्राप्त करें, ताकि कार्यप्रवाह चरणों के बीच डेटा साझा करना, मध्यवर्ती परिणामों को कैश करना, और समान कार्यप्रवाह निष्पादन संदर्भ के भीतर अनावश्यक गणनाओं से बचना संभव हो सके।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक पहले Cache Set ब्लॉक का उपयोग करके संग्रहीत किए गए इन-मेमोरी कैश से मानों को पुनः प्राप्त करता है। यह ब्लॉक:
छवि और कैश कुंजी प्राप्त करता है:
कैश नेमस्पेस निर्धारित करने के लिए एक इनपुट छवि लेता है
यह पहचानने के लिए एक कैश कुंजी (स्ट्रिंग) प्राप्त करता है कि कौन-सा मान पुनः प्राप्त करना है
कैश नेमस्पेस निर्धारित करता है:
छवि के वीडियो मेटाडेटा से वीडियो पहचानकर्ता निकालता है
कैश नेमस्पेस के रूप में वीडियो पहचानकर्ता का उपयोग करता है (प्रति वीडियो/स्ट्रीम कैश प्रविष्टियों को अलग-अलग करता है)
यदि कोई वीडियो पहचानकर्ता मौजूद नहीं है, तो "default" नेमस्पेस पर वापस जाता है
कैश किए गए मान को खोजता है:
निर्धारित नेमस्पेस के लिए इन-मेमोरी कैश डिक्शनरी तक पहुँचता है
कैश में निर्दिष्ट कुंजी खोजता है
यदि मान मिल जाता है, तो कैश किया गया मान लौटाता है, या यदि कुंजी मौजूद नहीं है तो False
प्राप्त मान लौटाता है:
कैश किया गया मान आउटपुट करता है (कोई भी डेटा प्रकार हो सकता है: स्ट्रिंग, संख्या, सूचियाँ, डिटेक्शन, आदि)
यदि कुंजी कैश में नहीं मिली, तो False लौटाता है
आउटपुट प्रकार वही होता है जो मूल रूप से Cache Set के साथ संग्रहीत किया गया था
कैश को वीडियो पहचानकर्ता द्वारा नेमस्पेस किया जाता है, जिसका अर्थ है कि अलग-अलग वीडियो या स्ट्रीम्स के लिए अलग कैश भंडारण होता है। इससे कई वीडियो संसाधित करने वाले कार्यप्रवाह प्रत्येक वीडियो के लिए अलग-अलग कैश बनाए रख सकते हैं। कैश मेमोरी में संग्रहीत होता है और जब कार्यप्रवाह निष्पादन पूरा हो जाता है या ब्लॉक नष्ट हो जाता है, तब साफ़ हो जाता है। Cache Get का उपयोग Cache Set के साथ मिलकर करना आवश्यक है - मान Cache Set के साथ संग्रहीत किए जाते हैं और Cache Get के साथ उसी कुंजी और नेमस्पेस (समान वीडियो पहचानकर्ता द्वारा निर्धारित) का उपयोग करके पुनः प्राप्त किए जाते हैं।
सामान्य उपयोग के मामले
चरणों के बीच साझा स्थिति: एक कार्यप्रवाह चरण में मध्यवर्ती परिणाम संग्रहीत करें और उन्हें दूसरे चरण में पुनः प्राप्त करें (जैसे, बाद के विश्लेषण के लिए डिटेक्शन परिणाम संग्रहीत करें, फ़िल्टरिंग के लिए वर्गीकरण पूर्वानुमान कैश करें, ब्लॉकों के बीच मेटाडेटा साझा करें), जिससे स्थिति-साझाकरण कार्यप्रवाह सक्षम होते हैं
अनावश्यक गणनाओं से बचें: महंगी गणना के परिणामों को कैश करें और उन्हें कई कार्यप्रवाह चरणों में पुनः उपयोग करें (जैसे, मॉडल पूर्वानुमान कैश करें, संसाधित छवियाँ संग्रहीत करें, रूपांतरण परिणाम पुनः उपयोग करें), जिससे गणना-कैशिंग कार्यप्रवाह सक्षम होते हैं
वीडियो फ़्रेम संदर्भ: फ़्रेम-विशिष्ट डेटा संग्रहीत करके वीडियो फ़्रेमों के बीच संदर्भ बनाए रखें (जैसे, पिछले फ़्रेम की डिटेक्शन कैश करें, फ़्रेम अनुक्रम मेटाडेटा संग्रहीत करें, ट्रैकिंग स्थिति बनाए रखें), जिससे फ़्रेम-संदर्भ कार्यप्रवाह सक्षम होते हैं
सशर्त कार्यप्रवाह तर्क: ऐसे निर्णय परिणाम या फ़्लैग संग्रहीत करें जो अगले चरणों में कार्यप्रवाह निष्पादन को नियंत्रित करते हैं (जैसे, फ़िल्टरिंग निर्णय कैश करें, सत्यापन परिणाम संग्रहीत करें, कार्यप्रवाह स्थिति बनाए रखें), जिससे सशर्त निष्पादन कार्यप्रवाह सक्षम होते हैं
डेटा समेकन: कैश में मान संग्रहीत करके और उन्हें पुनः प्राप्त/अपडेट करके कार्यप्रवाह चरणों में डेटा एकत्रित करें (जैसे, डिटेक्शन गणनाओं का समेकन करें, सांख्यिकी एकत्रित करें, परिणाम संग्रह बनाएं), जिससे डेटा-समेकन कार्यप्रवाह सक्षम होते हैं
अस्थायी भंडारण: कैश को उन मानों के लिए अस्थायी भंडारण के रूप में उपयोग करें जिन्हें कार्यप्रवाह ग्राफ से होकर गुज़रे बिना कई कार्यप्रवाह चरणों द्वारा एक्सेस करने की आवश्यकता होती है (जैसे, चरणों के बीच डेटा संग्रहीत करें, अस्थायी स्थिति बनाए रखें, गैर-रेखीय कार्यप्रवाह डेटा साझा करें), जिससे अस्थायी भंडारण कार्यप्रवाह सक्षम होते हैं
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक कैश किए गए मानों को पुनः प्राप्त करता है और पूरे कार्यप्रवाह में उपयोग किया जा सकता है:
Cache Set ब्लॉक के बाद : पहले से संग्रहीत मानों को पुनः प्राप्त करने के लिए (जैसे, संग्रहीत डिटेक्शन पुनः प्राप्त करें, कैश किए गए पूर्वानुमान प्राप्त करें, संग्रहीत मेटाडेटा तक पहुँचें), जिससे कैश-पुनःप्राप्ति कार्यप्रवाह सक्षम होते हैं
कार्यप्रवाह शाखाओं में : समानांतर या सशर्त निष्पादन पथों से साझा कैश मानों तक पहुँचने के लिए (जैसे, साझा स्थिति पुनः प्राप्त करें, कैश किए गए परिणामों तक पहुँचें, सामान्य डेटा प्राप्त करें), जिससे शाखा समन्वय कार्यप्रवाह सक्षम होते हैं
कैश किए गए डेटा की आवश्यकता वाले ब्लॉकों से पहले : कैश किए गए मानों को इनपुट के रूप में प्रदान करने के लिए (जैसे, विश्लेषण के लिए कैश किए गए डिटेक्शन प्रदान करें, फ़िल्टरिंग के लिए कैश किए गए पूर्वानुमान का उपयोग करें, प्रसंस्करण के लिए कैश किया गया मेटाडेटा पास करें), जिससे कैश्ड-इनपुट कार्यप्रवाह सक्षम होते हैं
सशर्त तर्क कार्यप्रवाहों में : Cache Set द्वारा संग्रहीत फ़्लैग या निर्णय पुनः प्राप्त करने के लिए (जैसे, कैश किए गए सत्यापन परिणाम प्राप्त करें, निर्णय फ़्लैग पुनः प्राप्त करें, सशर्त स्थिति तक पहुँचें), जिससे सशर्त तर्क कार्यप्रवाह सक्षम होते हैं
वीडियो प्रसंस्करण कार्यप्रवाहों के साथ : फ़्रेम-विशिष्ट या वीडियो-विशिष्ट कैश नेमस्पेस बनाए रखने के लिए (जैसे, फ़्रेम संदर्भ पुनः प्राप्त करें, वीडियो-विशिष्ट कैश तक पहुँचें, स्ट्रीम-विशिष्ट डेटा प्राप्त करें), जिससे वीडियो-संदर्भ कार्यप्रवाह सक्षम होते हैं
आउटपुट या सिंक ब्लॉकों से पहले : अंतिम परिणामों में कैश किया गया डेटा शामिल करने के लिए (जैसे, कैश किए गए समेकन शामिल करें, कैश किए गए आँकड़े आउटपुट करें, कैश किए गए परिणाम लौटाएँ), जिससे आउटपुट कार्यप्रवाह सक्षम होते हैं
आवश्यकताएँ
यह ब्लॉक एक इनपुट छवि (जिसका उपयोग वीडियो पहचानकर्ता के माध्यम से कैश नेमस्पेस निर्धारित करने के लिए किया जाता है) और संग्रहीत मान को खोजने के लिए एक कैश कुंजी (स्ट्रिंग) की आवश्यकता रखता है। यह ब्लॉक केवल LOCAL निष्पादन मोड में काम करता है - यदि इसे अन्य निष्पादन मोड में उपयोग किया जाए तो यह NotImplementedError उत्पन्न करेगा। मानों को पहले Cache Set ब्लॉक का उपयोग करके, उसी कुंजी और नेमस्पेस (समान वीडियो पहचानकर्ता) के साथ संग्रहीत होना चाहिए। कैश मेमोरी में संग्रहीत होता है और कार्यप्रवाह निष्पादन पूर्ण होने पर स्वतः साफ़ हो जाता है। कैश को वीडियो पहचानकर्ता द्वारा नेमस्पेस किया जाता है, इसलिए अलग-अलग वीडियो के लिए अलग कैश भंडारण होता है। यदि कोई कुंजी कैश में नहीं मिलती है, तो ब्लॉक False लौटाता है। कैश किया गया मान कोई भी डेटा प्रकार हो सकता है (स्ट्रिंग, संख्या, सूचियाँ, डिटेक्शन, छवियाँ, आदि), यह इस बात पर निर्भर करता है कि मूल रूप से क्या संग्रहीत किया गया था।
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/cache_get@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
कुंजी
str
कैश से कौन-सा मान पुनः प्राप्त करना है, यह पहचानने वाली कैश कुंजी (स्ट्रिंग)। कुंजी वही होनी चाहिए जिसका उपयोग Cache Set ब्लॉक के साथ मान संग्रहीत करते समय किया गया था। यदि कुंजी कैश में मौजूद नहीं है, तो ब्लॉक False लौटाता है। कुंजियाँ केस-संवेदी होती हैं और बिल्कुल सटीक मिलनी चाहिए। विभिन्न कैश किए गए मानों को पहचानने के लिए वर्णनात्मक कुंजियों का उपयोग करें (जैसे, 'detections', 'classification_result', 'frame_metadata')..
✅
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
रनटाइम संगतता
कठिन - निष्पादन दूरस्थ : कैश ब्लॉक केवल LOCAL कार्यप्रवाह चरण निष्पादन का समर्थन करते हैं; दूरस्थ चरण निष्पादन NotImplementedError उत्पन्न करता है।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार कैश प्राप्त करें संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
छवि(छवि): कैश नेमस्पेस निर्धारित करने के लिए उपयोग की जाने वाली इनपुट छवि। ब्लॉक छवि के वीडियो मेटाडेटा से वीडियो पहचानकर्ता निकालता है और उसे कैश नेमस्पेस के रूप में उपयोग करता है। यदि कोई वीडियो पहचानकर्ता मौजूद नहीं है, तो ब्लॉक नेमस्पेस के रूप में 'default' का उपयोग करता है। नेमस्पेस कैश प्रविष्टियों को अलग करता है ताकि अलग-अलग वीडियो या स्ट्रीम्स के लिए अलग कैश भंडारण हो। समान कैश नेमस्पेस तक पहुँचने के लिए Cache Set और Cache Get दोनों ब्लॉकों में वही छवि (समान वीडियो पहचानकर्ता के साथ) उपयोग करें..कुंजी(string): कैश से कौन-सा मान पुनः प्राप्त करना है, यह पहचानने वाली कैश कुंजी (स्ट्रिंग)। कुंजी वही होनी चाहिए जिसका उपयोग Cache Set ब्लॉक के साथ मान संग्रहीत करते समय किया गया था। यदि कुंजी कैश में मौजूद नहीं है, तो ब्लॉक False लौटाता है। कुंजियाँ केस-संवेदी होती हैं और बिल्कुल सटीक मिलनी चाहिए। विभिन्न कैश किए गए मानों को पहचानने के लिए वर्णनात्मक कुंजियों का उपयोग करें (जैसे, 'detections', 'classification_result', 'frame_metadata')..
आउटपुट
आउटपुट(*): किसी भी तत्व का समतुल्य।
अंतिम अपडेट
क्या यह उपयोगी था?