دليل مستخدم برنامج Qualcomm TensorFlow Lite SDK

تاريخ المراجعة
| المراجعة | تاريخ | وصف |
| AA | سبتمبر 2023 | الإصدار الأولي |
| AB | أكتوبر 2023 |
|
مقدمة إلى أدوات Qualcomm TFLite SDK
توفر أدوات تطوير برامج Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) إطار عمل TensorFlow Lite لاستدلال الذكاء الاصطناعي على الجهاز (AI)، مما يسهل على مطوري التطبيقات تطوير أو تشغيل تطبيقات الذكاء الاصطناعي المناسبة.
يوفر هذا المستند إرشادات خطوة بخطوة لتجميع حزمة Qualcomm TFLite SDK المستقلة وإعداد بيئة التطوير. يؤدي ذلك إلى تمكين سير عمل المطور، والذي يتضمن:
- إعداد بيئة البناء حيث يمكن للمطور تجميع Qualcomm TFLite SDK
- تطوير تطبيقات Qualcomm TFLite SDK المستقلة
للحصول على الدعم، راجعhttps://www.qualcomm.com/يدعم. يقدم الشكل التالي ملخصًا لسير عمل Qualcomm TFLite SDK: ”
الشكل 1-1 سير عمل Qualcomm TFLite SDK
تتطلب الأداة منصة SDK وتكوينًا file (تنسيق JSON) لإنشاء عناصر Qualcomm TFLite SDK.
لإنشاء تطبيق شامل باستخدام الأنظمة الفرعية للوسائط المتعددة والذكاء الاصطناعي ورؤية الكمبيوتر (CV)، راجع دليل البدء السريع لـ Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
يعرض الجدول تعيين إصدار Qualcomm TFLite SDK مع إصدار CodeLinaro tag:
جدول 1-1 معلومات الإصدار

| نسخة كوالكوم TFLite SDK | الافراج عن كود لينارو tag |
| رقم V1.0 | كوالكوم TFLITE.SDK.1.0.r1-00200-TFLITE.0 |
الجدول 1-2 إصدارات Qualcomm TFLite SDK المدعومة
| كوالكوم نسخة TFLite SDK | منتج البرمجيات المدعومة | نسخة TFLite المدعومة |
| رقم V1.0 | QCS8550.LE.1.0 |
|
|
||
|
||
|
||
|
||
|
مراجع
جدول 1-3 الوثائق ذات الصلة
| عنوان | رقم |
| كوالكوم | |
| 00067.1 مذكرة الإصدار الخاصة بـ QCS8550.LE.1.0 | رقم الهاتف المحمول 230830225415 |
| دليل البدء السريع لـ Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-51 |
| مرجع Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-50 |
| موارد | |
| https://source.android.com/docs/setup/start/initializing | - |
جدول 1-4 المختصرات والتعاريف
| اختصار أو مصطلح | تعريف |
| AI | الذكاء الاصطناعي |
| السير الذاتية | نظام الإدخال والإخراج الأساسي |
| CV | رؤية الكمبيوتر |
| اي بي كيه | الحزمة الخاصة بها file |
| QIM SDK | مجموعة تطوير برامج الوسائط المتعددة Qualcomm Intelligent |
| مجموعة أدوات تطوير البرامج | ادوات \ عده تطوير البرمجيات |
| تفليت | تينسور فلو لايت |
| إكس إن إن | Xth الجار الأقرب |
قم بإعداد بيئة البناء لأدوات Qualcomm TFLite SDK
يتم إصدار أدوات Qualcomm TFLite SDK في شكل مصدر؛ لذلك، يعد إنشاء بيئة البناء لتجميعها أمرًا إلزاميًا ولكن يتم إعداده لمرة واحدة.
المتطلبات الأساسية
- تأكد من أن لديك حق الوصول إلى جهاز Linux المضيف.
- تأكد من أن إصدار مضيف Linux هو Ubuntu 18.04 أو Ubuntu 20.04.
- زيادة الحد الأقصى لساعات المستخدم والحد الأقصى لمثيلات المستخدم على النظام المضيف.
- أضف أسطر الأوامر التالية إلى /etc/sysctl.conf وأعد تشغيل المضيف: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288
تثبيت حزم المضيف المطلوبة
يتم تثبيت حزم المضيف على جهاز Linux المضيف.
قم بتشغيل الأوامر لتثبيت حزم المضيف: $ Sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-Perl openjdk-8-jdkheadless
بالنسبة إلى Ubuntu 18.04 والإصدارات الأحدث:
$ sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev دول مجلس التعاون الخليجي-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5- dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip Fontconfig
لمزيد من المعلومات، راجع https://source.android.com/docs/setup/start/initializing.
قم بإعداد بيئة عامل الإرساء
عامل الإرساء عبارة عن منصة تُستخدم لبناء البرامج وتطويرها واختبارها وتقديمها. لتجميع SDK، يجب تكوين عامل الإرساء على جهاز Linux المضيف.
تأكد من تمكين المحاكاة الافتراضية لوحدة المعالجة المركزية على جهاز Linux المضيف. إذا لم يتم تمكينه، فقم بما يلي لتمكينه من إعدادات تكوين نظام الإدخال/الإخراج الأساسي (BIOS):
- تمكين المحاكاة الافتراضية من BIOS:
a. اضغط على F1 أو F2 عندما يقوم النظام بالتمهيد للدخول إلى BIOS. يتم عرض نافذة BIOS.
b. قم بالتبديل إلى علامة التبويب خيارات متقدمة.
c. في قسم تكوين وحدة المعالجة المركزية (CPU)، قم بتعيين تقنية المحاكاة الافتراضية على ممكّن.
a. اضغط على F12 للحفظ والخروج، ثم أعد تشغيل النظام.
إذا لم تنجح هذه الخطوات، فاتبع الإرشادات المحددة من موفر النظام لتمكين المحاكاة الافتراضية - قم بإزالة أي مثيلات قديمة لعامل الإرساء:
$ sudo apt إزالة docker-desktop
$ rm -r $HOME/.docker/desktop
$ sudo rm /usr/local/bin/com.docker.cli
$ sudo apt purge docker-desktop - قم بإعداد مستودع عامل الإرساء البعيد:
$ sudo apt-get update $ sudo apt-get install ca-certificates curl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | Sudo gpg — Dearmor -o /etc/apt/keyrings/docker.gpg $ echo “deb [arch=$(dpkg –print-architecture) Sign-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) مستقر" | Sudo Tee /etc/apt/sources.list.d/ docker.list > /dev/null - تثبيت محرك الإرساء:
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli - إضافة مستخدم إلى مجموعة عامل الإرساء:
$ sudo groupadd docker $ sudo usermod -aG docker $USER - أعد تشغيل النظام.
إنشاء منصة SDK
يعد النظام الأساسي SDK متطلبًا إلزاميًا لتجميع أدوات Qualcomm TFLite SDK. فهو يوفر جميع تبعيات النظام الأساسي المطلوبة التي تتطلبها Qualcomm TFLite SDK.
قم بما يلي لإنشاء منصة SDK:
- قم بإنشاء نسخة لمنتج البرنامج المفضل.
تتوفر تعليمات إنشاء إصدار QCS8550.LE.1.0 في ملاحظات الإصدار. للوصول إلى ملاحظات الإصدار، راجع المراجع.
إذا تم إنشاء الصور مسبقًا، فقم بتنفيذ الخطوة 2، ثم قم بإنشاء بنية نظيفة. - قم بتشغيل الأمر التالي لإنشاء صور مساحة المستخدم ومنصة SDK:
بالنسبة إلى QCS8550.LE.1.0، أضف ميزة الجهاز qti-tflite-delegate في MACHINE_FEATURES في kalama.conf file ومصدر بيئة البناء وفقًا للتعليمات الواردة في ملاحظات الإصدار.
بعد إنشاء صور مساحة المستخدم من الإصدار، قم بتشغيل الأمر التالي لإنشاء منصة SDK.
$ bitbake -fc populate_sdk qti-robotics-image
إنشاء أدوات Qualcomm TFLite SDK – سير عمل المطور
يتطلب سير عمل أدوات Qualcomm TFLite SDK من المطور توفير التكوين file مع إدخالات صالحة. توفر البرامج النصية المساعدة من مشروع tflite-tools (الموجود في شجرة مصدر Qualcomm TFLite SDK) وظائف الأداة المساعدة لإعداد بيئة الصدفة، والتي يمكن استخدامها لسير عمل Qualcomm TFLite SDK.
يقوم المطور ببناء مشاريع Qualcomm TFLite SDK داخل الحاوية ويقوم بإنشاء القطع الأثرية باستخدام الأدوات المساعدة التي توفرها أدوات tflite.
بعد إنشاء حاوية Qualcomm TFLite SDK، يمكن للمطور إرفاقها بالحاوية واستخدام الأدوات المساعدة في بيئة حاوية الحاوية للتطوير المستمر.
- هناك شرط لتثبيت عناصر Qualcomm TFLite SDK على جهاز Qualcomm متصل بمضيف Linux عبر USB/adb.
- يوجد أيضًا شرط لنسخ عناصر Qualcomm TFLite SDK من الحاوية إلى جهاز مضيف مختلف حيث يتم توصيل جهاز Qualcomm.

يسرد الشكل التالي مجموعة الأدوات المساعدة المتاحة بعد إعداد بيئة بناء الحاوية باستخدام البرامج النصية المساعدة لبناء Qualcomm TFLite SDK.

يوضح الشكل تسلسل تنفيذ الأدوات المساعدة:
الشكل 4-3 تسلسل المرافق على المضيف

مزامنة وبناء Qualcomm TFLite SDK
يتم تجميع Qualcomm TFLite SDK عند إنشاء صورة عامل الإرساء. لمزامنة وإنشاء Qualcomm TFLite SDK، قم بما يلي:
- إنشاء دليل على المضيف file نظام لمزامنة مساحة عمل Qualcomm TFLite SDK. ل
exampعلى: $mkdir قرص مضغوط $ - قم بإحضار كود مصدر Qualcomm TFLite SDK من CodeLinaro:
$ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ Manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ Tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b إطلاق && مزامنة الريبو -qc –no-tags -j - إنشاء دليل على المضيف file النظام الذي يمكن تركيبه في عامل الإرساء. على سبيل المثالample: mkdir-p / يمكن إنشاء هذا الدليل في أي مكان على جهاز Linux المضيف، ولا يعتمد على مكان مزامنة مشروع Qualcomm TFLite SDK. بعد اكتمال سير العمل داخل الحاوية، يمكن العثور على عناصر Qualcomm TFLite SDK في الدليل الذي تم إنشاؤه في هذه الخطوة.
- تحرير تكوين JSON file موجود في /tflite-tools/targets/le-tflite-tools-builder.json مع الإدخالات التالية:
"الصورة": "tflite-tools-builder"، "Device_OS": "le"، "Additional_"tag": ""، "TFLite_Version": "2.11.1"، "المندوبون": { "Hexagon_delegate": "OFF"، "Gpu_delegate": "ON"، "Xnnpack_delegate": "ON" }، "TFLite_rsync_destination": " /"، "SDK_path": "/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>"، "SDK_shell_file": ""، "Base_Dir_Location": "" }
لمزيد من المعلومات حول الإدخالات المذكورة في تكوين json file، راجع الملف التمهيدي Docker.md file في /tflite-tools/.
ملحوظة بالنسبة إلى QCS8550، لا يتم دعم مندوب Qualcomm® Hexagon™ DSP. - مصدر البرنامج النصي لإعداد البيئة:
$ قرص مضغوط /tflite-tools $ المصدر ./scripts/host/docker_env_setup.sh - أنشئ صورة عامل الإرساء Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json إذا فشل إعداد البناء، فراجع استكشاف أخطاء إعداد عامل الإرساء وإصلاحها. بعد الانتهاء بنجاح، يتم عرض الرسالة التالية: “الحالة: اكتمل بناء الصورة بنجاح!!” يؤدي تشغيل هذه الخطوة إلى إنشاء Qualcomm TFLite SDK أيضًا.
- قم بتشغيل حاوية الإرساء Qualcomm TFLite SDK. يؤدي هذا إلى بدء الحاوية بـ tags المتوفرة في تكوين JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
- نعلق على الحاوية التي بدأت من الخطوة السابقة.
إرفاق عامل الإرساء $
تم تجميع Qualcomm TFLite SDK، وأصبحت العناصر جاهزة للنشر أو يمكن نشرها بشكل أكبر
يُستخدم لإنشاء المكون الإضافي QIM SDK TFLite.
قم بتوصيل الجهاز لاستضافة ونشر القطع الأثرية]
بعد التجميع، هناك آليتان لتوصيل الجهاز بالمضيف ونشر الملف
التحف كوالكوم TFLite SDK.
- الجهاز المتصل بمضيف Linux المحلي:
يقوم المطور بتوصيل الجهاز بمحطة عمل ويقوم بتثبيت عناصر Qualcomm TFLite SDK من الحاوية مباشرة على الجهاز (QCS8550). - الجهاز متصل بمضيف بعيد:
يقوم أحد المطورين بتوصيل الجهاز بمحطة عمل عن بعد، ويمكنه استخدام أوامر تثبيت مدير الحزمة على منصات Windows وLinux لتثبيت عناصر Qualcomm TFLite SDK على الجهاز (QCS8550)
الشكل 4-4 توصيل لوحة الجهاز بالمطور ومحطة العمل عن بعد

قم بتوصيل الجهاز بمحطة العمل
الجهاز متصل بمحطة العمل ويمكن لحاوية التطوير الوصول إلى الجهاز عبر USB/adb.
يوضح الشكل سtagفي تسلسل سير عمل Qualcomm TFLite SDK:

- قم بتشغيل الأوامر التالية لتثبيت العناصر على الجهاز:
$ tflite-أدوات-جهاز-تحضير
$ tflite-tools-device-deploy - لإلغاء تثبيت العناصر، قم بتشغيل الأمر التالي:
$ tflite-tools-device-packages-remove
قم بتوصيل الجهاز بالجهاز البعيد
الجهاز متصل بجهاز بعيد، ولا يمكن لحاوية Qualcomm TFLite SDK الوصول إلى الجهاز عبر USB/ad b.
يوضح الشكل سtagفي تسلسل سير عمل Qualcomm TFLite SDK:

قم بتشغيل الأوامر التالية في حاوية أدوات tflite لنسخ العناصر إلى جهاز بعيد
اعتمادًا على مدير الحزم الموجود على الجهاز:
$ tflite-tools-remote-sync-ipk-rel-pkg
ملحوظة يتم توفير معلومات الجهاز البعيد في تكوين JSON file.
تثبيت القطع الأثرية لمنصة ويندوز
يمكن تثبيت عناصر Qualcomm TFLite SDK على الجهاز بناءً على نظام التشغيل الخاص بالجهاز البعيد.
بالنسبة لنظام التشغيل Windows، قم بما يلي:
في PowerShell، استخدم البرنامج النصي التالي: PS C:
> adb root PS C:> adb Disable-verity PS C:> adb reboot PS C:> adb wait-for-device PS C:> adb root PS C:> adb remount PS C:> adb Shell mount -o remount, rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb Push /tmp إذا كانت الحزمة ipk (لـ QCS8550.LE.1.0)، استخدم الأوامر التالية: PS C:> adb shell “ opkg –القوة-يعتمد –إعادة التثبيت –القوة-الكتابة فوق التثبيت /tmp/”
تثبيت القطع الأثرية لمنصة Linux
استخدم الأوامر التالية:
$ adb root $ adb Disable-verity $ adb reboot $ adb انتظر الجهاز $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell "mkdir -p /tmp" $ adb دفع /tmp إذا الحزمة عبارة عن ipk (لـ QCS8550.LE.1.0): $ adb shell "opkg –force-depends –force-reinstall –force-overwrite install /tmp/"
تنظيف صورة عامل الإرساء
بعد إكمال سير عمل المطور، يجب تنظيف بيئة الإرساء لتحرير مساحة التخزين الموجودة على القرص. يؤدي تنظيف عامل الإرساء إلى إزالة الحاويات والصور غير المستخدمة، وبالتالي تحرير مساحة القرص.
استخدم الأوامر التالية لتنظيف صورة عامل الإرساء:
- قم بتشغيل الأمر التالي على محطة عمل Linux:
$ قرص مضغوط /tflite-tools - أوقف الحاوية:
$ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json - قم بإزالة الحاوية:
$ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json - قم بإزالة صور عامل الإرساء الأقدم:
$ tflite-tools-host-images-cleanup
استكشاف أخطاء إعداد عامل الإرساء وإصلاحها
إذا قام أمر tflite-tools-host-build-image بإرجاع رسالة Nospace متبقية على الجهاز، فقم بنقل دليل عامل الإرساء إلى/local/mnt. قم بما يلي لاستكشاف أخطاء الإعداد وإصلاحها:
- عمل نسخة احتياطية من عامل الإرساء الموجود files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date + %s).tar.gz - إيقاف عامل الإرساء:
توقف عامل إرساء الخدمة $ - تحقق من عدم تشغيل أي عملية عامل إرساء:
$ ملاحظة وهمية | عامل ميناء grep - تحقق من بنية دليل عامل الإرساء:
$ سودو ليرة سورية /var/lib/docker/ - انقل دليل عامل الإرساء إلى قسم جديد:
$ mv /var/lib/docker /local/mnt/docker - أنشئ رابطًا رمزيًا إلى دليل عامل الإرساء في القسم الجديد:
$ ln -s /local/mnt/docker /var/lib/docker - تأكد من بقاء بنية دليل عامل الإرساء دون تغيير:
$ سودو ليرة سورية /var/lib/docker/ - بدء عامل الإرساء:
بداية عامل إرساء الخدمة $ - أعد تشغيل جميع الحاويات بعد نقل دليل عامل الإرساء.
قم بإنشاء TFLite SDK مع محطة عمل Linux
يمكن تمكين سير عمل TFLite SDK بدون حاويات باستخدام محطة عمل Linux. يعد هذا الإجراء بديلاً لاستخدام الحاويات.
لمزامنة وإنشاء Qualcomm TFLite SDK، قم بما يلي:
- إنشاء دليل على المضيف file نظام لمزامنة مساحة عمل Qualcomm TFLite SDK. على سبيل المثالampعلى:
$mkdir
قرص مضغوط $ - قم بإحضار كود مصدر Qualcomm TFLite SDK من CodeLinaro:
$ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ Manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ Tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b إطلاق && مزامنة الريبو -qc –no-tags -j8 && مزامنة الريبو -qc –لا-tags -ج8 - 3. قم بتحرير تكوين JSON file موجود في /tflite-tools/targets/le-tflite-tools-builder.json مع الإدخالات التالية
"الصورة": "tflite-tools-builder"، "Device_OS": "le"، "Additional_"tag": ""، "TFLite_Version": "2.11.1"، "المندوبون": { "Hexagon_delegate": "OFF"، "Gpu_delegate": "ON"، "Xnnpack_delegate": "ON" }، "TFLite_rsync_destination": " "، "SDK_path": "/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>"، "SDK_shell_file": ""، "Base_Dir_Location": ""
لمزيد من المعلومات حول الإدخالات المذكورة في تكوين json file، راجع الملف التمهيدي Docker.md file في /tflite-أدوات/.
ملحوظة بالنسبة إلى QCS8550، لا يتم دعم مندوب Hexagon DSP - مصدر البرنامج النصي لإعداد البيئة:
$ قرص مضغوط /tflite-tools
$ المصدر ./scripts/host/host_env_setup.sh - قم ببناء Qualcomm TFLite SDK.
أهداف إعداد أدوات tflite $/le-tflite-tools-builder.json - قم بتشغيل أوامر الأداة المساعدة التالية في نفس Linux Shell لتجميع عناصر TFLite SDK منها
TFLite_rsync_destination.
$ tflite-tools-host-get-rel-package target/le-tflite-tools-builder.json
$ tflite-tools-host-get-dev-package target/le-tflite-tools-builder.json - تثبيت القطع الأثرية على أساس نظام التشغيل
- بالنسبة لنظام التشغيل Windows، على PowerShell، استخدم البرنامج النصي التالي
PS C:> adb root PS C:> adb Disable-verity PS C:> إعادة تشغيل adb PS C:> adb wait-for-device PS C:> adb root PS C:> adb remount PS C:> adb Shell mount - o إعادة التحميل، rw / PS C:> adb shell "mkdir -p /tmp" PS C:> adb Push /tmp
إذا كانت الحزمة ipk (لـ QCS8550.LE.1.0)، استخدم الأوامر التالية:
PS C:> adb shell "opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
بالنسبة لمنصة Linux، استخدم البرنامج النصي التالي:
$ بنك التنمية الآسيوي الجذر $ بنك التنمية الآسيوي تعطيل الحقيقة $ بنك التنمية الآسيوي إعادة التشغيل $ بنك التنمية الآسيوي الانتظار للجهاز $ بنك التنمية الآسيوي الجذر $ بنك التنمية الآسيوي إعادة تحميل $ بنك التنمية الآسيوي شل جبل -o إعادة تحميل، rw / $ بنك التنمية الآسيوي شل "mkdir -p /tmp" $ بنك التنمية الآسيوي دفع /tmp إذا كانت الحزمة ipk (لـ QCS8550.LE.1.0):
$ adb shell "opkg –force-depends –force-reinstall –force-overwrite install /tmp/"
- بالنسبة لنظام التشغيل Windows، على PowerShell، استخدم البرنامج النصي التالي
قم بإنشاء عناصر Qualcomm TFLite SDK لبناء QIM SDK
لاستخدام العناصر التي تم إنشاؤها لتمكين المكون الإضافي Qualcomm TFLite SDK GStreamer في QIM SDK، قم بما يلي:
- أكمل الإجراء في Sync وقم بإنشاء Qualcomm TFLite SDK، ثم قم بتشغيل الأمر التالي: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
قطران file تم إنشاؤه. أنه يحتوي على Qualcomm TFLite SDK في المسار المقدم في "TFLite_rsync_destination" - لتمكين المكون الإضافي Qualcomm TFLite SDK GStreamer، استخدم tar file كوسيطة في تكوين JSON file لبناء QIM SDK.
للحصول على معلومات حول تجميع QIM SDK، راجع دليل البدء السريع لـ Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
قم ببناء Qualcomm TFLite SDK بشكل تدريجي
إذا كنت تقوم بإنشاء Qualcomm TFLite SDK لأول مرة، فراجع إنشاء أدوات Qualcomm TFLite SDK - سير عمل المطور. يمكن إعادة استخدام نفس بيئة البناء للتطوير المتزايد.
الأدوات المساعدة المساعدة (داخل الحاوية) المذكورة في الشكل متاحة للمطورين لتجميع التطبيقات المعدلة والمكونات الإضافية.
الشكل 5-1 سير العمل في الحاوية

بعد اكتمال تغييرات التعليمات البرمجية في دليل التعليمات البرمجية، قم بما يلي:
- تجميع التعليمات البرمجية المعدلة:
$ tflite-tools-incremental-build-install - رمز الحزمة المترجمة:
$ tflite-tools-ipk-rel-pkg أو $ tflite-tools-deb-rel-pkg - مزامنة حزم الإصدار مع المضيف file نظام:
$ tflite-tools-remote-sync-ipk-rel-pkg
Or
$ tflite-tools-remote-sync-deb-rel-pkg - قم بإعداد حزمة التطوير:
$ tflite-tools-ipk-dev-pkg
تم العثور على العناصر المترجمة في المجلد TFLite_rsync_destination المذكور في ملف JSON fileوالتي يمكن نسخها إلى أي دليل.
العمل مع مندوب QNN الخارجي TFLite
يسمح لك مندوب TFLite الخارجي بتشغيل نماذجك (جزئيًا أو كليًا) على منفذ آخر باستخدام المكتبات المقدمة من جهة خارجية موثوقة مثل QNN من Qualcomm. يمكن لهذه الآلية الاستفادة من مجموعة متنوعة من المسرعات الموجودة على الجهاز مثل وحدة معالجة الرسومات أو معالج الموتر السداسي (HTP) للاستدلال. وهذا يوفر للمطورين طريقة مرنة ومنفصلة عن TFLite الافتراضي لتسريع الاستدلال.
المتطلبات الأساسية:
- تأكد من أنك تستخدم محطة عمل Ubuntu لاستخراج مكدس QNN AI.
- تأكد من استخدام إصدار QNN 2.14 ليكون متوافقًا مع Qualcomm TFLite SDK
تم تمكين Qualcomm TFLite SDK لتشغيل الاستدلالات على العديد من واجهات QNN الخلفية من خلال مندوب TFLite الخارجي لـ QNN. يمكن تشغيل نماذج TFLite ذات التمثيل المسطح الشائع على GPU وHTP.
بعد تثبيت حزم Qualcomm TFLite SDK على الجهاز، قم بما يلي لتثبيت مكتبات QNN على الجهاز.
- قم بتنزيل Qualcomm Package Manager 3 لنظام Ubuntu.
a. انقرhttps://qpm.qualcomm.com/، ثم انقر فوق أدوات.
b. في الجزء الأيمن، في الحقل أدوات البحث، اكتب QPM. من قائمة نظام التشغيل، حدد Linux.
تعرض نتائج البحث قائمة بمديري حزم Qualcomm.
c. حدد Qualcomm Package Manager 3 وقم بتنزيل حزمة Linux debian. - قم بتثبيت Qualcomm Package Manager 3 لنظام التشغيل Linux. استخدم الأمر التالي:
$ dpkg -i –force-overwrite /path/to/
QualcommPackageManager3.3.0.83.1.Linux-x86.deb - قم بتنزيل كوالكوم®
AI Engine Direct SDK على محطة عمل Ubuntu.
a. انقر https://qpm.qualcomm.com/ وانقر فوق أدوات.
b. في الجزء الأيمن، في الحقل أدوات البحث، اكتب مكدس AI. من قائمة نظام التشغيل، حدد Linux.
A يتم عرض قائمة منسدلة تحتوي على محركات مكدسة مختلفة تعمل بالذكاء الاصطناعي.
c. انقر فوق Qualcomm® AI Engine Direct SDK وقم بتنزيل حزمة Linux v2.14.0. - قم بتثبيت Qualcomm® AI Engine Direct SDK على محطة عمل Ubuntu.
أ. تفعيل الترخيص:
qpm-cli – ترخيص – تنشيط qualcomm_ai_engine_direct
b تثبيت AI Engine Direct SDK:
$ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik - ادفع المكتبات إلى الجهاز من محطة عمل Ubuntu باستخدام adb Push.
$ cd /opt/qcom/aistack/qnn/2.14.0.230828 $ adb Push ./lib/aarch64-oe-linux-gcc11.2/ libQnnDsp.so /usr/lib/ $ adb Push ./lib/aarch64-oe- linux-gcc11.2/ libQnnDspV66Stub.so /usr/lib/ $ adb Push ./lib/aarch64-oe-linux-gcc11.2/ libQnnGpu.so /usr/lib/ $ adb Push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpPrepare.so /usr/lib/ $ adb Push ./lib/aarch64-oe-linux-gcc11.2/ libQnnHtp.so /usr/lib/ $ adb Push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpV68Stub.so /usr/lib/ $ adb Push ./lib/aarch64-oe-linux-gcc11.2/ libQnnSaver.so /usr/lib/ $ adb Push ./lib/aarch64-oe- linux-gcc11.2/ libQnnSystem.so /usr/lib/ $ adb Push ./lib/aarch64-oe-linux-gcc11.2/ libQnnTFLiteDelegate.so /usr/lib/ $ adb Push ./lib/hexagon-v65/ unsigned/ libQnnDspV65Skel.so /usr/lib/rfsa/adsp $ adb Push ./lib/hexagon-v66/unsigned/ libQnnDspV66Skel.so /usr/lib/rfsa/adsp $ adb Push ./lib/hexagon-v68/unsigned/ libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb Push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb Push ./lib/hexagon-v73/unsigned/ libQnnHtpV73Skel. لذلك /usr/lib/rfsa/adsp
اختبر Qualcomm TFLite SDK
يوفر Qualcomm TFLite SDK بعض الأمثلةampالتطبيقات، والتي يمكن استخدامها للتحقق من صحة النماذج وقياسها والحصول على دقة النماذج التي يرغب المطور في تقييمها.
بعد تثبيت حزم Qualcomm TFLite SDK على الجهاز، يتوفر وقت التشغيل على الجهاز لتشغيل هذه البرامج السابقةampلو التطبيقات.
متطلب أساسي
قم بإنشاء الدلائل التالية على الجهاز:
$ adb shell "mkdir /data/models"
$ adb Shell "mkdir /data/Lables"
$ adb Shell "mkdir /data/profiling"
صورة التسمية
صورة التسمية هي أداة مساعدة تقدمها Qualcomm TFLite SDK والتي توضح كيف يمكنك تحميل نموذج TensorFlow Lite المُدرب مسبقًا والمحول واستخدامه للتعرف على الكائنات في الصور. المتطلبات الأساسية:
تنزيل سampالنموذج والصورة:
يمكنك استخدام أي نموذج متوافق، ولكن نموذج MobileNet v1 التالي يقدم عرضًا جيدًا لنموذج تم تدريبه على التعرف على 1000 كائن مختلف.
- احصل على نموذج
$ جurl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | القطران xzv -C /data $ mv /data/mobilenet_v1_1.0_224.tflite /data/Models/ - الحصول على التسميات
$ جurl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_1.0_224_frozen.tgz | القطران xzv -C /data mobilenet_v1_1.0_224/ labels.txt
$ mv /data/mobilenet_v1_1.0_224/labels.txt /data/Labels/
بعد الاتصال بحاوية إرساء Qualcomm TFLite SDK، يمكن العثور على الصورة على:
"/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
a. ادفع هذا file إلى/البيانات/التسميات/
b. قم بتشغيل الأمر:
$ adb Shell "label_image -l /data/Labels/labels.txt -i /data/Labels/ Grace_hopper.bmp -m /data/Models/mobilenet_v1_1.0_224.tflite -c 10 -j 1 -p 1"
معيار
يوفر Qualcomm TFLite SDK أداة قياس الأداء لحساب أداء أوقات التشغيل المختلفة.
تعمل أدوات قياس الأداء هذه حاليًا على قياس وحساب الإحصائيات الخاصة بمقاييس الأداء المهمة التالية:
- وقت التهيئة
- استنتاج وقت حالة الاحماء
- وقت الاستدلال للحالة المستقرة
- استخدام الذاكرة أثناء وقت التهيئة
- الاستخدام العام للذاكرة
المتطلبات الأساسية
ادفع النماذج المراد اختبارها من TFLite Model Zoo (https://tfhub.dev/) إلى/البيانات/النماذج/. تشغيل البرامج النصية التالية:
- حزمة XNN
$ adb Shell "benchmark_model –graph=/data/Models/ —enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/البيانات/التنميط/" - مندوب GPU
$ adb Shell "benchmark_model –graph=/data/Models/ — Enable_op_profiling=true –use_gpu=true –num_runs=100 –warmup_runs=10 — max_secs=300 –profiling_output_csv_file=/البيانات/التنميط/" - مندوب خارجي
QNN مندوب خارجي GPU:
تشغيل الاستدلال باستخدام نموذج النقطة العائمة:
$ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — External_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so;skel_library_dir:/usr/lib/rfsa /adsp'"
مندوب QNN الخارجي HTP:
تشغيل الاستدلال باستخدام النموذج الكمي:
$ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — External_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtp.so;skel_library_dir:/usr/lib/rfsa /adsp'"
أداة الدقة
يوفر Qualcomm TFLite SDK أداة دقة لحساب دقة النماذج في أوقات التشغيل المختلفة.
- التصنيف مع مندوب GPU
خطوات تحميل ما يلزم fileيمكن العثور على أدوات الاختبار على: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
يعد الملف الثنائي لتشغيل هذه الأداة جزءًا من SDK بالفعل، لذا لا يحتاج المطور إلى إنشائه مرة أخرى.
$ adb shell "image_classify_run_eval — model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu” - اكتشاف الكائنات باستخدام حزمة XNN
قذيفة بنك التنمية الآسيوي $ "inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac
المعلومات القانونية
وصولك إلى هذه الوثيقة واستخدامها، بالإضافة إلى أية مواصفات أو لوحة مرجعية fileوالرسومات والتشخيصات وغيرها من المعلومات الواردة هنا (بشكل جماعي هذا "توثيق")، يخضع لسلطتك (بما في ذلك الشركة أو الكيان القانوني الآخر الذي تمثله، بشكل جماعي "أنت" أو "أنت") قبول الشروط والأحكام ("شروط الاستخدام") المبينة أدناه. إذا كنت لا توافق على شروط الاستخدام هذه، فلا يجوز لك استخدام هذه الوثائق ويجب عليك تدمير أي نسخة منها على الفور.
- إشعار قانوني.
يتم توفير هذه الوثائق لك فقط لاستخدامك الداخلي مع تلك المنتجات وعروض الخدمات الخاصة بشركة Qualcomm Technologies, Inc. ("Qualcomm Technologies") والشركات التابعة لها الموضحة في هذه الوثائق، ولا يجوز استخدامها لأي أغراض أخرى. لا يجوز تغيير هذه الوثائق أو تحريرها أو تعديلها بأي شكل من الأشكال دون الحصول على موافقة كتابية مسبقة من Qualcomm Technologies. الاستخدام غير المصرح به أو الكشف عن هذا
يُحظر تمامًا التوثيق أو المعلومات الواردة في هذه الوثيقة، وأنت توافق على تعويض Qualcomm Technologies والشركات التابعة لها والجهات المرخصة لها عن أي أضرار أو خسائر تتكبدها شركة Qualcomm Technologies والشركات التابعة لها والجهات المرخصة لها نتيجة لأي استخدامات أو إفصاحات غير مصرح بها لهذه الوثائق، كليًا أو كليًا. جزء. تحتفظ شركة Qualcomm Technologies والشركات التابعة لها والجهات المرخصة لها بجميع الحقوق والملكية في هذه الوثائق. لا يتم منح أو ضمنًا أي ترخيص لأي علامة تجارية أو براءة اختراع أو حقوق طبع ونشر أو حق حماية عمل القناع أو أي حق ملكية فكرية آخر في هذه الوثائق أو أي معلومات تم الكشف عنها هنا، بما في ذلك، على سبيل المثال لا الحصر، أي ترخيص لصنع أو استخدام أو استيراد أو بيع أي منتج أو خدمة أو عرض تكنولوجيا يتضمن أيًا من المعلومات الواردة في هذه الوثائق.
يتم تقديم هذه الوثائق "كما هي" دون أي ضمان من أي نوع، سواء كان صريحًا أو ضمنيًا أو قانونيًا أو غير ذلك. إلى الحد الأقصى الذي يسمح به القانون، تخلي شركة QUALCOMM TECHNOLOGIES والشركات التابعة لها والجهات المرخصة مسؤوليتها بشكل خاص عن جميع ضمانات الملكية أو قابلية التسويق أو عدم الانتهاك أو الملاءمة لغرض معين أو الجودة المرضية أو الاكتمال أو الدقة، وجميع الضمانات الناشئة عن الاستخدام التجاري أو خارج سياق التعامل أو سياق الأداء. علاوة على ذلك، لا تتحمل QUALCOMM TECHNOLOGIES أو أي من الشركات التابعة لها أو الجهات المرخصة لها المسؤولية تجاهك أو تجاه أي طرف ثالث عن أي نفقات أو خسائر أو استخدام أو إجراءات مهما كانت الطريقة التي تم تحملها أو اتخاذها بواسطتك بالاعتماد على هذه الوثائق.
قد تتطلب منك مجموعات المنتجات والأدوات والمواد المحددة المشار إليها في هذه الوثائق قبول شروط وأحكام إضافية قبل الوصول إلى هذه العناصر أو استخدامها.
قد تخضع البيانات الفنية المحددة في هذه الوثائق لقوانين الولايات المتحدة وغيرها من قوانين مراقبة الصادرات المعمول بها. يُمنع منعا باتا النقل المخالف للولايات المتحدة وأي قانون آخر معمول به.
لا يوجد في هذه الوثائق ما يمثل عرضًا لبيع أي من المكونات أو الأجهزة المشار إليها هنا.
هذه الوثائق عرضة للتغيير دون إشعار آخر. في حالة وجود تعارض بين شروط الاستخدام هذه و Webشروط استخدام الموقع على www.qualcomm.com أو سياسة خصوصية Qualcomm المشار إليها في www.qualcomm.com، سيتم التحكم في شروط الاستخدام هذه. في حالة وجود تعارض بين شروط الاستخدام هذه وأي اتفاقية أخرى (مكتوبة أو نقر) يتم تنفيذها بواسطتك أنت وQualcomm Technologies أو إحدى الشركات التابعة لشركة Qualcomm Technologies فيما يتعلق بوصولك إلى هذه الوثائق واستخدامها، فإن الاتفاقية الأخرى هي التي تسري .
تخضع شروط الاستخدام هذه وتفسر وتنفذ وفقًا لقوانين ولاية كاليفورنيا، باستثناء اتفاقية الأمم المتحدة بشأن البيع الدولي للبضائع، بغض النظر عن مبادئ تعارض القوانين. أي نزاع أو مطالبة أو خلاف ينشأ عن أو يتعلق بشروط الاستخدام هذه، أو خرق أو صلاحية هذه الشروط، يجب أن يتم الفصل فيه فقط من قبل محكمة مختصة في مقاطعة سان دييغو، ولاية كاليفورنيا، وأنت بموجب هذا توافق على الاختصاص الشخصي لهذه المحاكم لهذا الغرض. - بيانات العلامات التجارية وإسناد المنتج.
Qualcomm هي علامة تجارية أو علامة تجارية مسجلة لشركة Qualcomm Incorporated. Arm هي علامة تجارية مسجلة لشركة Arm Limited (أو الشركات التابعة لها) في الولايات المتحدة و/أو أي مكان آخر. تعد علامة Bluetooth® النصية علامة تجارية مسجلة مملوكة لشركة Bluetooth SIG, Inc. وقد تكون أسماء المنتجات والعلامات التجارية الأخرى المشار إليها في هذه الوثائق علامات تجارية أو علامات تجارية مسجلة لأصحابها.
المنتجات التي تحمل العلامة التجارية Snapdragon وQualcomm المشار إليها في هذه الوثائق هي منتجات لشركة Qualcomm Technologies, Inc. و/أو الشركات التابعة لها. تقنيات Qualcomm الحاصلة على براءة اختراع مرخصة من شركة Qualcomm Incorporated.

المستندات / الموارد
![]() |
برنامج كوالكوم TensorFlow لايت SDK [بي دي اف] دليل المستخدم برنامج TensorFlow Lite SDK، برنامج Lite SDK، برنامج SDK، البرنامج |




