RK3588 NPU सॉफ़्टवेयर स्टैक एक साथ कैसे फ़िट होता है

Rockchip का RKNN सॉफ़्टवेयर स्टैक मॉडल की तैयारी को डिवाइस पर निष्पादन से अलग करता है। RKNN-टूलकिट2 रूपांतरण और मूल्यांकन उपकरण प्रदान करता है। RKNN-टूलकिट-लाइट2 समर्थित लक्ष्य प्लेटफ़ॉर्म पर पायथन इंटरफ़ेस की आपूर्ति करता है, जबकि RKNN रनटाइम सी/सी++ इंटरफ़ेस की आपूर्ति करता है। कर्नेल ड्राइवर रनटाइम को NPU से जोड़ता है। अपने मॉड्यूल के लिए आपूर्ति किए गए बोर्ड समर्थन पैकेज के साथ इन घटकों की संगतता की जांच करें।

एक उपयोगी परिनियोजन रिकॉर्ड बोर्ड और SoM संशोधन, Linux छवि, ड्राइवर, रनटाइम, रूपांतरण उपकरण संस्करण, मूल मॉडल और परिवर्तित मॉडल की पहचान करता है। मॉडल आर्टिफैक्ट के बगल में बिल्ड स्क्रिप्ट और प्रीप्रोसेसिंग सेटिंग्स को सहेजें। एक फ़ाइल नाम जैसे कि detector.rknn अकेले यह नहीं बताया जा सकता कि एक परिनियोजन दूसरे से भिन्न व्यवहार क्यों करता है।

तैयारी करोसंदर्भ मॉडल, इनपुट और अपेक्षित आउटपुट
कनवर्ट करेंलक्ष्य विन्यास और सटीकता की जाँच
तैनातीरनटाइम, एप्लिकेशन और निरंतर परीक्षण

चरण 1: रूपांतरण से पहले एक संदर्भ स्थापित करें

मूल मॉडल को प्रतिनिधि सत्यापन सेट पर चलाएँ। कच्चे आउटपुट और एप्लिकेशन मेट्रिक को सहेजें जो मायने रखता है: वर्गीकरण सटीकता, पता लगाने की गुणवत्ता या अन्य कार्य-विशिष्ट माप। डिटेक्टर के लिए, लेबल ऑर्डरिंग, कॉन्फिडेंस थ्रेशोल्ड और पोस्टप्रोसेसिंग सेटिंग्स को सुरक्षित रखें। यह परिवर्तित मॉडल के लिए तुलना बिंदु बन जाता है।

संपूर्ण इनपुट अनुबंध लिखें. आयाम, बैच आकार, आरजीबी या बीजीआर ऑर्डरिंग, लेआउट, संख्यात्मक सीमा, सामान्यीकरण, आकार बदलना और पैडिंग शामिल करें। एक सही मॉडल खराब परिणाम दे सकता है यदि एप्लिकेशन लेटरबॉक्स एक छवि को प्रशिक्षण से अलग करता है या ऑफसेट को दो बार घटाता है। नेटवर्क के बाहर पोस्टप्रोसेसिंग को भी उतनी ही सावधानी से प्रलेखित रखें।

Rockchip का उपयोग करें RKNN मॉडल चिड़ियाघर एक प्रारंभिक बिंदु के रूप में जब इसमें एक मिलान मॉडल और लक्ष्य शामिल होता है। इसके रूपांतरण और अनुमान के उदाहरण यह मानने से अधिक उपयोगी हैं कि कोई भी निर्यातित नेटवर्क अपरिवर्तित काम करेगा। एक ज्ञात रिपॉजिटरी संशोधन का चयन करें और उस विशिष्ट उदाहरण के लिए निर्देशों का पालन करें।

चरण 2: मॉडल बदलें और ऑपरेटर समर्थन की जाँच करें

  1. लक्ष्य का मिलान करें. इच्छित बोर्ड छवि के साथ संगत RK3588 लक्ष्य और टूलचेन का चयन करें।
  2. ग्राफ़ का निरीक्षण करें. निर्यातित मॉडल में वास्तविक संचालन के लिए आकार, प्रीप्रोसेसिंग, आउटपुट और समर्थन की पुष्टि करें।
  3. एक संदर्भ रूपांतरण बनाएं. उस ग्राफ़ और सॉफ़्टवेयर संस्करण द्वारा समर्थित सटीक विकल्पों का उपयोग करें।
  4. संपूर्ण बिल्ड लॉग पढ़ें. कैमरा अधिग्रहण या उपयोगकर्ता इंटरफ़ेस जोड़ने से पहले विफलताओं का समाधान करें और चेतावनियों की जांच करें।
  5. आउटपुट की तुलना करें. समान पोस्टप्रोसेसिंग के साथ, मूल और परिवर्तित मॉडल के माध्यम से समान इनपुट चलाएँ।

एक असमर्थित ऑपरेशन के लिए एक अलग निर्यात, ग्राफ़ पुनर्लेखन या एक स्पष्ट सीपीयू प्रसंस्करण चरण की आवश्यकता हो सकती है। यह न मानें कि रनटाइम प्रत्येक असमर्थित परत को पारदर्शी रूप से निष्पादित करेगा। यदि कार्यभार का कुछ हिस्सा सीपीयू पर चला जाता है, तो प्रदर्शन माप में स्थानांतरण और सिंक्रनाइज़ेशन शामिल करें।

चरण 3: अपनी सटीकता आवश्यकता के अनुसार INT8 का मूल्यांकन करें

परिमाणीकरण संख्यात्मक प्रतिनिधित्व को बदल देता है। जब चयनित रूपांतरण प्रवाह अंशांकन डेटा का उपयोग करता है, तो परिनियोजन के प्रतिनिधि इनपुट चुनें: प्रकाश व्यवस्था, वस्तु का आकार, पृष्ठभूमि और संचालन की स्थिति। परिणाम का मूल्यांकन करने के लिए एक अलग सत्यापन सेट रखें। एक रूपांतरण जो सफलतापूर्वक पूरा हो जाता है उसे अभी भी सटीकता जांच की आवश्यकता होती है।

एप्लिकेशन आउटपुट की तुलना करें, न कि केवल दो टेंसर के बीच के अंतर की। उदाहरण के लिए, एक छोटा सा संख्यात्मक परिवर्तन किसी पहचान को विश्वास सीमा के पार ले जा सकता है। कठिन मामलों, कुछ उदाहरणों और स्थितियों के साथ कक्षाओं का निरीक्षण करें जहां मूल मॉडल पहले से ही सीमांत था। यदि सटीकता स्वीकृति सीमा से कम हो जाती है, तो हार्डवेयर बदलने से पहले अंशांकन कवरेज और प्रीप्रोसेसिंग पर दोबारा गौर करें।

द ONNX रनटाइम परिमाणीकरण दस्तावेज़ीकरण संख्यात्मक ट्रेड-ऑफ़ और सटीकता जांच पर उपयोगी पृष्ठभूमि है। चयनित रिलीज़ के लिए RKNN रूपांतरण विकल्प और समर्थित परिशुद्धता को अभी भी Rockchip के स्वयं के दस्तावेज़ में जांचा जाना चाहिए।

चरण 4: अनुमान समय से अधिक मापें

वार्म-अप के बाद और फिर निरंतर दौड़ के दौरान तैनात कार्यभार को मापें। तापमान, पावर मोड, समवर्ती प्रक्रियाओं और बाड़े या शीतलन व्यवस्था को रिकॉर्ड करें। उपयोगी परिणाम एक पुनरुत्पादित प्रदर्शन आवरण है, जिसमें सटीकता और देरी शामिल है, उन स्थितियों के तहत जिनमें उत्पाद संचालित होगा।

मापनयह क्या उत्तर देता हैक्या रिकार्ड करना है
मॉडल निष्पादन अवधिइस रनटाइम कॉल में कितना समय लगता है?इनपुट आकार, परिशुद्धता, समय सीमाएं और रनटाइम संस्करण
अंत-से-अंत विलंबताजब परिणाम दिया गया तो अवलोकन कितना पुराना है?समय, प्रीप्रोसेसिंग, क्यूइंग, अनुमान और आउटपुट समय कैप्चर करें
सतत थ्रूपुटसमय के साथ कितने पूर्ण परिणाम वितरित किए जाते हैं?रन अवधि, पूर्ण किए गए अनुरोध और छोड़े गए या छोड़े गए इनपुट
अनुप्रयोग सटीकताक्या तैनात मॉडल कार्य की आवश्यकता को पूरा करता है?सत्यापन सेट, कार्य मीट्रिक और निर्णय सीमाएँ
ऊष्मीय व्यवहारक्या सिस्टम गर्म होने के बाद परिणाम स्थिर है?परिवेशीय स्थितियाँ, शीतलन, तापमान और घड़ियाँ जहाँ उपलब्ध हों

एक उदाहरणात्मक बजट के रूप में, प्रत्येक 40 एमएस में एक नया फ्रेम प्राप्त करने वाले एप्लिकेशन को प्रत्येक फ्रेम को संसाधित करने पर प्रति सेकंड 25 फ्रेम के साथ रहना होगा। एक 12 एमएस अनुमान माप उस बजट के शेष हिस्से को केवल उपयुक्त रूप से निर्धारित डिजाइन में अधिग्रहण, तैयारी और वितरण के लिए छोड़ देगा। यह 12 एमएस कैमरा-टू-रिज़ल्ट विलंब साबित नहीं करता है। ये संख्याएँ एक नियोजन उदाहरण हैं, न कि मापा गया ForgeEdge प्रदर्शन।

सॉफ़्टवेयर अवधि के लिए एक मोनोटोनिक घड़ी का उपयोग करें। एकल सर्वश्रेष्ठ अवलोकन के बजाय माध्यिका और पूंछ विलंबता की रिपोर्ट करें, और कच्चे माप को संरक्षित करें। कई कैमरों के लिए, डिकोडिंग, छवि रूपांतरण, मेमोरी मूवमेंट और रिकॉर्डिंग सहित सभी सक्रिय स्ट्रीम के कार्यभार का ध्यान रखें। पूरे परीक्षण के दौरान बढ़ती हुई कतार इंगित करती है कि औसत क्षमता आने वाले कार्यभार से कम है।

सामान्य परिनियोजन लक्षण

लक्षणपहली जांच
सही मॉडल, गलत लेबल या बक्सेरंग क्रम, सामान्यीकरण, आकार/पैडिंग, आउटपुट लेआउट और पोस्टप्रोसेसिंग
परिवर्तित मॉडल प्रारंभ नहीं किया जा सकतालक्ष्य चयन, रनटाइम/ड्राइवर संगतता और मॉडल आर्टिफैक्ट अखंडता
अच्छा लघु बेंचमार्क, खराब निरंतर प्रदर्शनतापमान, पावर मोड, मेमोरी दबाव और प्रतिस्पर्धी कार्य
स्वीकार्य अनुमान समय, स्पष्ट रूप से विलंबित परिणामबफरिंग, कतार आयु, प्रतियां और आउटपुट शेड्यूलिंग कैप्चर करें
INT8 आउटपुट उपयोगी पहचान खो देता हैअंशांकन कवरेज, प्रीप्रोसेसिंग तुल्यता और कार्य-स्तरीय सत्यापन

प्रोटोटाइप को दोहराने योग्य उत्पाद में बदलें

मॉडल, रनटाइम और एप्लिकेशन कॉन्फ़िगरेशन को नियंत्रित रिलीज़ के रूप में पैकेज करें। स्टार्टअप जाँच, विफलता रिपोर्टिंग, पुनर्प्राप्ति और रोलबैक पथ को परिभाषित करें। एक छोटा संदर्भ-इनपुट परीक्षण रखें जो कैमरा कनेक्ट होने से पहले गलत परिनियोजन की पहचान कर सके। उस सॉफ़्टवेयर जांच को भौतिक सेंसर परीक्षण से अलग करें, जिसमें केबलिंग, ड्राइवर और एक्सपोज़र सेटिंग्स का भी अभ्यास किया जाता है।

जब बोर्ड को विभिन्न कनेक्टर, पावर कंडीशनिंग या सेंसर इंटरफेस की आवश्यकता हो, तो समीक्षा करें SoM बनाम SBC निर्णय और कैरियर-बोर्ड डिज़ाइन प्रक्रिया. वे निर्णय यह निर्धारित करते हैं कि एक सफल मॉडल प्रदर्शन एक रखरखाव योग्य प्रणाली कैसे बन जाता है।

RK3588 NPU परिनियोजन प्रश्न

क्या प्रत्येक ONNX मॉडल RK3588 NPU पर चल सकता है?

संगतता वास्तविक ग्राफ़, आकार, संचालन और चयनित टूलचेन पर निर्भर करती है। जिस मॉडल को आप शिप करना चाहते हैं उसके रूपांतरण और ऑन-डिवाइस सत्यापन के माध्यम से समर्थन स्थापित करें।

क्या विज्ञापित त्वरक रेटिंग अनुप्रयोग एफपीएस की भविष्यवाणी करती है?

नहीं, नेटवर्क, सटीकता, मेमोरी व्यवहार, प्रीप्रोसेसिंग और रनटाइम एप्लिकेशन के मापा थ्रूपुट को निर्धारित करते हैं। प्लेटफ़ॉर्म की तुलना करते समय लक्ष्य कार्यभार और उसके संपूर्ण डेटा पथ का उपयोग करें।

क्या मुझे पहले तंत्रिका नेटवर्क को अनुकूलित करना चाहिए?

प्रोफ़ाइल पहले. यदि अधिग्रहण, छवि रूपांतरण या कतार हावी हो जाती है, तो मॉडल निष्पादन समय को कम करने से एप्लिकेशन द्वारा अनुभव की जाने वाली परिणाम आयु पर बहुत कम प्रभाव पड़ सकता है।

संपूर्ण कंप्यूटर विज़न कार्य को बेंचमार्क करें

ऑब्जेक्ट-डिटेक्शन एप्लिकेशन के लिए, कैमरा कैप्चर, आकार और सामान्यीकरण, NPU अनुमान, आउटपुट डिकोडिंग और निर्णय की डिलीवरी को मापें। समय परिणाम के साथ मॉडल संस्करण, इनपुट रिज़ॉल्यूशन, सटीकता, आत्मविश्वास सीमा और मूल्यांकन डेटासेट की रिपोर्ट करें। अन्यथा, दो स्पष्ट रूप से समान edge AI बेंचमार्क अलग-अलग कार्यों का वर्णन कर सकते हैं।

मॉडल आर्किटेक्चर के लिए प्रतिबद्ध होने से पहले चयनित RKNN टूलचेन के माध्यम से निर्यात किए गए ग्राफ़ और आवश्यक ऑपरेटरों का परीक्षण करें। निरंतर निष्पादन के दौरान परिमाणीकरण और व्यवहार के बाद सटीकता की जांच करें, न कि केवल रूपांतरण सफल होता है या नहीं। वस्तु का पता लगाने, विभाजन और वर्गीकरण की आउटपुट-प्रोसेसिंग लागत अलग-अलग होती है; परियोजना के लिए चुने गए वास्तविक कार्यभार को मान्य करें।

FPGA, NPU और MPU डिज़ाइन भूमिकाओं की तुलना करें

तकनीकी संदर्भ

अपने edge AI कार्यभार का दायरा बढ़ाएं।

मॉडल, इनपुट रिज़ॉल्यूशन, कैमरा इंटरफेस, आवश्यक परिणाम दर और पावर लिफाफा साझा करें। हम RK3588-आधारित एज प्लेटफॉर्म के आसपास एकीकरण कार्य का आकलन कर सकते हैं।