كيف تتناسب مجموعة برامج RK3588 NPU معًا
تفصل حزمة برامج RKNN الخاصة بشركة Rockchip بين إعداد النموذج والتنفيذ على الجهاز. يوفر RKNN-Toolkit2 أدوات التحويل والتقييم. يوفر RKNN-Toolkit-Lite2 واجهة Python على الأنظمة الأساسية المستهدفة المدعومة، بينما يوفر RKNN Runtime واجهات C/C++. يقوم برنامج تشغيل kernel بتوصيل وقت التشغيل بوحدة NPU. تحقق من توافق هذه المكونات مع حزمة دعم اللوحة المتوفرة لوحدتك.
يحدد سجل النشر المفيد اللوحة ومراجعة SoM وصورة Linux وبرنامج التشغيل ووقت التشغيل وإصدار أداة التحويل والنموذج الأصلي والنموذج المحول. احفظ البرنامج النصي للإنشاء وإعدادات المعالجة المسبقة بجانب قطعة النموذج. اسم الملف مثل detector.rknn لا يمكن وحده تفسير سبب سلوك عملية نشر مختلفة عن الأخرى.
الخطوة 1: إنشاء مرجع قبل التحويل
قم بتشغيل النموذج الأصلي على مجموعة التحقق من صحة الممثل. احفظ المخرجات الأولية ومقياس التطبيق المهم: دقة التصنيف، أو جودة الاكتشاف، أو أي إجراء آخر خاص بالمهمة. بالنسبة للكاشف، احتفظ بترتيب الملصقات وحدود الثقة وإعدادات ما بعد المعالجة. تصبح هذه نقطة المقارنة للنموذج المحول.
اكتب عقد الإدخال بأكمله. قم بتضمين الأبعاد وحجم الدفعة وترتيب RGB أو BGR والتخطيط والنطاق الرقمي والتطبيع وتغيير الحجم والحشو. يمكن أن يؤدي النموذج الصحيح إلى نتائج سيئة إذا قام التطبيق بوضع صورة بشكل مختلف عن التدريب أو طرح إزاحة مرتين. حافظ على توثيق المعالجة اللاحقة خارج الشبكة بنفس القدر من العناية.
استخدم Rockchip حديقة حيوان RKNN النموذجية كنقطة انطلاق عندما تتضمن النموذج والهدف المطابقين. تعتبر أمثلة التحويل والاستدلال الخاصة بها أكثر فائدة من افتراض أن أي شبكة مصدرة ستعمل دون تغيير. حدد مراجعة مستودع معروفة واتبع الإرشادات الخاصة بهذا المثال المحدد.
الخطوة 2: تحويل النموذج والتحقق من دعم المشغل
- تطابق الهدف. حدد هدف RK3588 وسلسلة أدوات متوافقة مع صورة اللوحة المقصودة.
- فحص الرسم البياني. تأكيد الأشكال والمعالجة المسبقة والمخرجات ودعم العمليات الفعلية في النموذج المصدر.
- بناء تحويل مرجعي. استخدم خيارات الدقة التي يدعمها هذا الرسم البياني وإصدار البرنامج.
- اقرأ سجل البناء الكامل. قم بحل حالات الفشل والتحقق من التحذيرات قبل إضافة الحصول على الكاميرا أو واجهة المستخدم.
- قارن النواتج. قم بتشغيل نفس المدخلات من خلال النماذج الأصلية والمحولة، مع نفس المعالجة اللاحقة.
قد تتطلب العملية غير المدعومة تصديرًا مختلفًا أو إعادة كتابة الرسم البياني أو مرحلة معالجة واضحة لوحدة المعالجة المركزية. لا تفترض أن وقت التشغيل سينفذ كل طبقة غير مدعومة بشفافية. إذا انتقل جزء من عبء العمل إلى وحدة المعالجة المركزية، فقم بتضمين عمليات النقل والمزامنة في قياس الأداء.
الخطوة 3: تقييم INT8 مقابل متطلبات الدقة الخاصة بك
يغير التكميم التمثيل العددي. عندما يستخدم تدفق التحويل المحدد بيانات المعايرة، اختر المدخلات التي تمثل النشر: الإضاءة وحجم الكائن والخلفية وظروف التشغيل. احتفظ بمجموعة تحقق منفصلة لتقييم النتيجة. لا يزال التحويل الذي يكتمل بنجاح يحتاج إلى التحقق من الدقة.
قارن مخرجات التطبيق، وليس فقط الفرق بين الموتدين. على سبيل المثال، يمكن لتغيير رقمي صغير أن ينقل الاكتشاف عبر عتبة الثقة. افحص الحالات الصعبة، والفصول التي تحتوي على أمثلة قليلة، والظروف التي كان فيها النموذج الأصلي هامشيًا بالفعل. إذا كانت الدقة أقل من حد القبول، فقم بإعادة النظر في تغطية المعايرة والمعالجة المسبقة قبل تغيير الأجهزة.
تؤكد وثائق تقدير وقت تشغيل ONNX هي خلفية مفيدة عن المفاضلات العددية والتحقيق الدقيق. لا يزال يتعين التحقق من خيارات تحويل RKNN والدقة المدعومة في وثائق Rockchip الخاصة بالإصدار المحدد.
الخطوة 4: قياس أكثر من وقت الاستدلال
قم بقياس عبء العمل المنشور بعد عملية الإحماء ومرة أخرى أثناء الجري المستمر. سجل درجة الحرارة ووضع الطاقة والعمليات المتزامنة والعلبة أو ترتيب التبريد. والنتيجة المفيدة هي غلاف أداء قابل للتكرار، بما في ذلك الدقة والتأخير، في ظل الظروف التي سيعمل فيها المنتج.
| القياس | ما يجيب | ما لتسجيل |
|---|---|---|
| مدة تنفيذ النموذج | كم من الوقت تستغرق مكالمة وقت التشغيل هذه؟ | شكل الإدخال والدقة وحدود التوقيت وإصدار وقت التشغيل |
| الكمون نهاية إلى نهاية | كم عمر الملاحظة عند تسليم النتيجة؟ | التقاط الوقت، والمعالجة المسبقة، وقائمة الانتظار، والاستدلال، ووقت الإخراج |
| إنتاجية مستدامة | كم عدد النتائج المكتملة التي يتم تسليمها مع مرور الوقت؟ | طول التشغيل والطلبات المكتملة والمدخلات المسقطة أو المتخطية |
| دقة التطبيق | هل يلبي النموذج المنشور متطلبات المهمة؟ | مجموعة التحقق من الصحة ومقياس المهمة وعتبات القرار |
| السلوك الحراري | هل النتيجة مستقرة بعد إحماء النظام؟ | الظروف المحيطة والتبريد ودرجات الحرارة والساعات حيثما كان ذلك متاحا |
كميزانية توضيحية، يجب على التطبيق الذي يتلقى إطارًا جديدًا كل 40 مللي ثانية مواكبة 25 إطارًا في الثانية إذا كان يعالج كل إطار. سيؤدي قياس الاستدلال بمقدار 12 مللي ثانية إلى ترك بقية تلك الميزانية للاقتناء والإعداد والتسليم فقط في تصميم مجدول بشكل مناسب. لا يثبت تأخير الكاميرا إلى النتيجة بمقدار 12 مللي ثانية. هذه الأرقام هي مثال تخطيطي، وليست قياسًا لأداء ForgeEdge.
استخدم ساعة رتيبة لفترات البرنامج. قم بالإبلاغ عن زمن الوصول المتوسط والذيل بدلاً من أفضل ملاحظة واحدة، واحتفظ بالقياسات الأولية. بالنسبة للعديد من الكاميرات، قم بحساب عبء العمل لجميع التدفقات النشطة، بما في ذلك فك التشفير وتحويل الصور وحركة الذاكرة والتسجيل. تشير قائمة الانتظار التي تتزايد طوال الاختبار إلى أن متوسط السعة أقل من عبء العمل الوارد.
أعراض النشر الشائعة
| أعراض | التحقيق الأول |
|---|---|
| النموذج الصحيح، التسميات أو الصناديق غير الصحيحة | ترتيب الألوان والتطبيع وتغيير الحجم/الحشو وتخطيط الإخراج والمعالجة اللاحقة |
| لا يمكن بدء تشغيل النموذج المحول | اختيار الهدف، وتوافق وقت التشغيل/برنامج التشغيل، وسلامة العناصر النموذجية |
| معيار قصير جيد، وأداء مستدام ضعيف | درجة الحرارة ووضع الطاقة وضغط الذاكرة والعمل المنافس |
| وقت الاستدلال المقبول، نتائج متأخرة بشكل واضح | التقاط التخزين المؤقت وعمر قائمة الانتظار والنسخ وجدولة الإخراج |
| يفقد إخراج INT8 الاكتشافات المفيدة | تغطية المعايرة ومعادلة المعالجة المسبقة والتحقق من صحة مستوى المهمة |
تحويل النموذج الأولي إلى منتج قابل للتكرار
قم بتعبئة النموذج ووقت التشغيل وتكوين التطبيق كإصدار خاضع للرقابة. تحديد عمليات التحقق من بدء التشغيل والإبلاغ عن الفشل والاسترداد ومسار العودة إلى الحالة السابقة. احتفظ باختبار إدخال مرجعي صغير يمكنه تحديد النشر غير الصحيح قبل توصيل الكاميرا. افصل فحص البرنامج عن اختبار المستشعر الفعلي، والذي يختبر أيضًا الكابلات وبرامج التشغيل وإعدادات التعرض.
عندما تحتاج اللوحة إلى موصلات مختلفة أو أجهزة تكييف الطاقة أو واجهات الاستشعار، قم بمراجعة قرار SoM مقابل قرار SBC و عملية تصميم لوحة الناقل. تحدد هذه القرارات كيف يصبح عرض النموذج الناجح نظامًا قابلاً للصيانة.
أسئلة نشر RK3588 NPU
هل يمكن تشغيل كل طراز ONNX على RK3588 NPU؟
يعتمد التوافق على الرسم البياني الفعلي والأشكال والعمليات وسلسلة الأدوات المحددة. قم بإنشاء الدعم من خلال التحويل والتحقق من صحة النموذج الذي تنوي شحنه على الجهاز.
هل يتنبأ تصنيف التسريع المعلن عنه بالإطار في الثانية (FPS) للتطبيق؟
لا، فالشبكة والدقة وسلوك الذاكرة والمعالجة المسبقة ووقت التشغيل تحدد الإنتاجية المقاسة للتطبيق. استخدم عبء العمل المستهدف ومسار البيانات الكامل الخاص به عند مقارنة الأنظمة الأساسية.
هل يجب علي تحسين الشبكة العصبية أولاً؟
الملف الشخصي أولا. إذا كان الاستحواذ أو تحويل الصور أو الترتيب في قائمة الانتظار هو السائد، فقد يكون لتقليل وقت تنفيذ النموذج تأثيرًا ضئيلًا على عمر النتيجة الذي يواجهه التطبيق.
المراجع التقنية
حدد نطاق عبء عمل الذكاء الاصطناعي الخاص بك.
شارك النموذج ودقة الإدخال وواجهات الكاميرا ومعدل النتائج المطلوبة ومغلف الطاقة. يمكننا تقييم عمل التكامل حول منصة الحافة المستندة إلى RK3588.
