Кіраўніцтва карыстальніка праграмнага забеспячэння Qualcomm TensorFlow Lite SDK
Гісторыя версій
Рэвізія | Дата | Апісанне |
AA | верасень 2023 г | Першапачатковы выпуск |
AB | Кастрычнік 2023 г |
|
Уводзіны ў інструменты Qualcomm TFLite SDK
Інструменты для распрацоўкі праграмнага забеспячэння Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) забяспечваюць фреймворк TensorFlow Lite для вываду штучнага інтэлекту (AI) на прыладзе, які палягчае распрацоўшчыкам прыкладанняў распрацоўваць або запускаць прыдатныя прыкладанні 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 Інфармацыя аб выпуску
Версія Qualcomm TFLite SDK | Выпуск CodeLinaro tag |
V1.0 | Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0 |
Табліца 1-2 Падтрымоўваныя версіі Qualcomm TFLite SDK
Qualcomm Версія TFLite SDK | Праграмны прадукт, які падтрымліваецца | Падтрымліваецца версія TFLite |
V1.0 | QCS8550.LE.1.0 |
|
|
||
|
||
|
||
|
||
|
Спасылкі
Табліца 1-3 Звязаныя дакументы
Назва | Нумар |
Qualcomm | |
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 | Штучны інтэлект |
BIOS | Базавая сістэма ўводу/вываду |
CV | Кампутарны зрок |
ІПК | Яго пакет file |
QIM SDK | Камплект распрацоўкі мультымедыйнага праграмнага забеспячэння Qualcomm Intelligent |
SDK | Камплект для распрацоўкі праграмнага забеспячэння |
TFLite | TensorFlow Lite |
XNN | Xth бліжэйшы сусед |
Наладзьце асяроддзе зборкі для інструментаў Qualcomm TFLite SDK
Інструменты Qualcomm TFLite SDK выпушчаны ў зыходным выглядзе; такім чынам, стварэнне асяроддзя зборкі для яго кампіляцыі з'яўляецца абавязковай, але аднаразовай наладай.
Перадумовы
- Пераканайцеся, што ў вас ёсць sudoaccess да хост-машыны Linux.
- Пераканайцеся, што версія хаста Linux - Ubuntu 18.04 або Ubuntu 20.04.
- Павялічце максімальную колькасць назіранняў карыстальнікаў і максімальную колькасць асобнікаў карыстальнікаў у хост-сістэме.
- Дадайце наступныя камандныя радкі ў /etc/sysctl.confand і перазагрузіце хост: 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 gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5- dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc разархіваваць fontconfig
Для атрымання дадатковай інфармацыі глядзіце https://source.android.com/docs/setup/start/initializing.
Наладзьце асяроддзе докера
Докер - гэта платформа, якая выкарыстоўваецца для стварэння, распрацоўкі, тэставання і дастаўкі праграмнага забеспячэння. Каб скампіляваць SDK, докер павінен быць сканфігураваны на хост-машыне Linux.
Пераканайцеся, што віртуалізацыя працэсара ўключана на хост-машыне Linux. Калі ён не ўключаны, зрабіце наступнае, каб уключыць яго з параметраў канфігурацыі базавай сістэмы ўводу/вываду (BIOS):
- Уключыць віртуалізацыю з BIOS:
a. Націсніце F1 або F2, калі сістэма загружаецца, каб перайсці ў BIOS. Адлюструецца акно BIOS.
b. Пераключыцеся на ўкладку «Дадаткова».
c. У раздзеле «Канфігурацыя працэсара» ўсталюйце «Тэхналогія віртуалізацыі» на «Уключана».
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-сертыфікаты curl gnupg lsb-рэліз $ 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) signed-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) stable” | 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 докер $ sudo usermod -aG докер $КАРЫСТАЛЬНІК - Перазагрузіце сістэму.
Стварыце 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-tools.
Пасля стварэння кантэйнера Qualcomm TFLite SDK распрацоўшчык можа далучыцца да кантэйнера і выкарыстоўваць дапаможныя ўтыліты ў асяроддзі абалонкі кантэйнера для бесперапыннай распрацоўкі.
- Ёсць магчымасць усталяваць артэфакты Qualcomm TFLite SDK на прыладу Qualcomm, падключаную да хоста Linux праз USB/adb.
- Існуе таксама магчымасць скапіяваць артэфакты Qualcomm TFLite SDK з кантэйнера на іншую хост-машыну, да якой падключана прылада Qualcomm.
На наступным малюнку пералічаны набор утыліт, даступных пасля наладжвання асяроддзя зборкі кантэйнера з выкарыстаннем дапаможных сцэнарыяў для стварэння Qualcomm TFLite SDK.
На малюнку паказана паслядоўнасць выканання утыліт:
Малюнак 4-3 Паслядоўнасць утыліт на хасце
Сінхранізацыя і зборка Qualcomm TFLite SDK
Пакет SDK Qualcomm TFLite кампілюецца пры стварэнні вобраза докера. Каб сінхранізаваць і стварыць Qualcomm TFLite SDK, зрабіце наступнае:
- Стварыце каталог на хасце file сістэма для сінхранізацыі працоўнай прасторы Qualcomm TFLite SDK. Для
exampль: $mkdir $cd - Атрымаць зыходны код 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 выпуск && repo sync -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”, “Delegates”: { “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 не падтрымліваецца. - Крыніца сцэнарыя для наладжвання асяроддзя:
$ CD /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 скампіляваны, і артэфакты гатовыя да разгортвання або могуць быць далей
выкарыстоўваецца для стварэння плагіна TFLite QIM SDK.
Падключыце прыладу да хоста і разгарніце артэфакты]
Пасля кампіляцыі ёсць два механізмы для падлучэння прылады да хаста і разгортвання
Артэфакты Qualcomm TFLite SDK.
- Прылада, падлучаная да лакальнага хоста Linux:
Распрацоўшчык падключае прыладу да працоўнай станцыі і ўсталёўвае артэфакты Qualcomm TFLite SDK з кантэйнера непасрэдна на прыладзе (QCS8550). - Прылада, падключаная да аддаленага хоста:
Распрацоўшчык падключае прыладу да аддаленай працоўнай станцыі і можа выкарыстоўваць каманды ўсталёўшчыка дыспетчара пакетаў на платформах Windows і Linux, каб усталяваць на прыладу артэфакты Qualcomm TFLite SDK (QCS8550)
Малюнак 4-4 Падключэнне платы прылады да распрацоўшчыка і аддаленай рабочай станцыі
Падключыце прыладу да працоўнай станцыі
Прылада падключана да працоўнай станцыі, і кантэйнер распрацоўкі можа атрымаць доступ да прылады праз USB/adb.
На малюнку сtages у паслядоўнасці працоўнага працэсу Qualcomm TFLite SDK:
- Выканайце наступныя каманды, каб усталяваць артэфакты на прыладу:
$ tflite-tools-device-prepare
$ tflite-tools-device-deploy - Каб выдаліць артэфакты, выканайце наступную каманду:
$ tflite-tools-device-packages-remove
Падключыце прыладу да выдаленай машыны
Прылада падключана да аддаленай машыны, і кантэйнер Qualcomm TFLite SDK не можа атрымаць доступ да прылады праз USB/ad b.
На малюнку сtages у паслядоўнасці працоўнага працэсу Qualcomm TFLite SDK:
Выканайце наступныя каманды ў кантэйнеры tflite-tools, каб скапіяваць артэфакты на выдаленую машыну
у залежнасці ад мэнэджэра пакетаў на прыладзе:
$ tflite-tools-remote-sync-ipk-rel-pkg
УВАГА Інфармацыя пра аддаленую машыну змяшчаецца ў канфігурацыі JSON file.
Усталяваць артэфакты для платформы Windows
Артэфакты 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 –force-depends –force-reinstall –force-overwrite install /tmp/”
Усталяваць артэфакты для платформы Linux
Выкарыстоўвайце наступныя каманды:
$ adb root $ adb disable-verity $ adb reboot $ adb wait-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Калі пакет з'яўляецца ipk (для QCS8550.LE.1.0): $ adb shell «opkg –force-depends –force-reinstall –force-overwrite install /tmp/»
Ачысціць вобраз докера
Пасля завяршэння працоўнага працэсу распрацоўшчыка неабходна ачысціць асяроддзе докераў, каб вызваліць месца на дыску. Ачыстка докера выдаляе нявыкарыстаныя кантэйнеры і выявы, вызваляючы такім чынам месца на дыску.
Выкарыстоўвайце наступныя каманды, каб ачысціць вобраз докера:
- Выканайце наступную каманду на працоўнай станцыі Linux:
$ CD /tflite-інструменты - Спыніць кантэйнер:
$ 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 left on device, перамясціце каталог докераў у/local/mnt. Зрабіце наступнае, каб ліквідаваць непаладкі пры наладзе:
- Зрабіце рэзервовую копію існуючага докера files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(дата + %s).tar.gz - Спыніць докер:
$ прыпынак докера службы - Пераканайцеся, што не запушчаны працэс докераў:
$ ps штучны | докер grep - Праверце структуру каталога докераў:
$ sudo ls /var/lib/docker/ - Перамясціце каталог докераў у новы раздзел:
$ mv /var/lib/docker /local/mnt/docker - Зрабіце сімвалічную спасылку на каталог докераў у новым раздзеле:
$ ln -s /local/mnt/docker /var/lib/docker - Пераканайцеся, што структура каталога докераў застаецца нязменнай:
$ sudo ls /var/lib/docker/ - Запусціць докер:
$ служба докера старт - Перазапусціце ўсе кантэйнеры пасля перамяшчэння каталога докераў.
Стварыце TFLite SDK з рабочай станцыяй Linux
Працоўны працэс TFLite SDK можа быць уключаны без кантэйнераў з дапамогай працоўнай станцыі Linux. Гэтая працэдура з'яўляецца альтэрнатывай выкарыстанню кантэйнераў.
Каб сінхранізаваць і стварыць Qualcomm TFLite SDK, зрабіце наступнае:
- Стварыце каталог на хасце file сістэма для сінхранізацыі працоўнай прасторы Qualcomm TFLite SDK. Напрыкладampль:
$mkdir
$cd - Атрымаць зыходны код 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 выпуск && repo sync -qc –no-tags -j8 && сінхранізацыя рэпазітара -qc –не-tags -j8 - 3. Адрэдагуйце канфігурацыю JSON file прысутнічаць у /tflite-tools/ targets/le-tflite-tools-builder.json з наступнымі запісамі
«Выява»: «tflite-tools-builder», «Device_OS»: «le», «Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “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 не падтрымліваецца - Крыніца сцэнарыя для наладжвання асяроддзя:
$ CD /tflite-інструменты
$ крыніца ./scripts/host/host_env_setup.sh - Стварыце Qualcomm TFLite SDK.
$ tflite-tools-setup targets/le-tflite-tools-builder.json - Выканайце наступныя каманды ўтыліты ў той жа абалонцы Linux, каб сабраць артэфакты TFLite SDK з
TFLite_rsync_destination.
$ tflite-tools-host-get-rel-package targets/le-tflite-tools-builder.json
$ tflite-tools-host-get-dev-package targets/le-tflite-tools-builder.json - Ўстаноўка артэфактаў на аснове аперацыйнай сістэмы
- Для платформы 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 –force-depends –force-reinstall –forceoverwrite install /tmp/
Для платформы Linux выкарыстоўвайце наступны скрыпт:
$ adb root $ adb disable-verity $ adb reboot $ adb wait-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /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, які можна скапіяваць у любы каталог.
Праца са знешнім TFLite Delegate QNN
Знешні дэлегат TFLite дазваляе вам запускаць свае мадэлі (часткова або цалкам) на іншым выканаўцы з выкарыстаннем бібліятэк, прадастаўленых надзейным трэцім бокам, такім як QNN ад Qualcomm. Гэты механізм можа выкарыстоўваць розныя паскаральнікі на прыладзе, такія як GPU або Hexagon Tensor Processor (HTP) для вываду. Гэта дае распрацоўнікам гнуткі і аддзелены метад ад стандартнага TFLite для паскарэння высновы.
Перадумовы:
- Пераканайцеся, што вы выкарыстоўваеце працоўную станцыю Ubuntu для здабывання стэка QNN AI.
- Пераканайцеся, што вы выкарыстоўваеце QNN версіі 2.14 у спалучэнні з Qualcomm TFLite SDK
Пакет SDK Qualcomm TFLite уключаны для выканання высноў на некалькіх бэкэндах QNN праз знешні дэлегат TFLite для QNN. Мадэлі TFLite з агульным прадстаўленнем плоскага буфера можна запускаць на GPU і HTP.
Пасля ўстаноўкі пакетаў Qualcomm TFLite SDK на прыладу зрабіце наступнае, каб усталяваць бібліятэкі QNN на прыладзе.
- Спампуйце Qualcomm Package Manager 3 для Ubuntu.
a. Націсніце https://qpm.qualcomm.com/ і націсніце Інструменты.
b. На левай панэлі ў полі «Інструменты пошуку» увядзіце QPM. Са спісу System OS выберыце Linux.
Вынікі пошуку адлюстроўваюць спіс менеджэраў пакетаў Qualcomm.
c. Выберыце Qualcomm Package Manager 3 і спампуйце пакет Linux debian. - Усталюйце Qualcomm Package Manager 3 для Linux. Выкарыстоўвайце наступную каманду:
$ dpkg -i – прымусовая перазапіс /шлях/да/
QualcommPackageManager3.3.0.83.1.Linux-x86.deb - Спампуйце Qualcomm®
AI Engine Direct SDK на працоўнай станцыі Ubuntu.
a. Націсніце https://qpm.qualcomm.com/ і націсніце Інструменты.
b. На левай панэлі ў полі «Інструменты пошуку» увядзіце AI stack. Са спісу System OS выберыце 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 –выманне /шлях/да/ 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 забяспечвае некаторыя прыкладыample прыкладанняў, якія можна выкарыстоўваць для праверкі, тэставання і атрымання дакладнасці мадэляў, якія распрацоўшчык хоча ацаніць.
Пасля ўстаноўкі пакетаў Qualcomm TFLite SDK на прыладзе на прыладзе даступна асяроддзе выканання для запуску гэтых эксample прыкладанняў.
Абавязковая ўмова
Стварыце наступныя каталогі на прыладзе:
$ adb shell «mkdir /data/Models»
$ adb shell «mkdir /data/Lables»
$ adb shell «mkdir /data/profiling»
Выява этыкеткі
Выява этыкеткі - гэта ўтыліта, якая прадстаўляецца Qualcomm TFLite SDK, якая паказвае, як можна загрузіць падрыхтаваную і пераўтвораную мадэль TensorFlow Lite і выкарыстоўваць яе для распазнання аб'ектаў на выявах. Перадумовы:
Спампаваць sampмадэль і малюнак:
Вы можаце выкарыстоўваць любую сумяшчальную мадэль, але наступная мадэль MobileNet v1 прапануе добрую дэманстрацыю мадэлі, навучанай распазнаваць 1000 розных аб'ектаў.
- Атрымаць мадэль
$ curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /data $ mv /data/mobilenet_v1_1.0_224.tflite /data/Models/ - Атрымаць этыкеткі
$ curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_1.0_224_frozen.tgz | tar 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 to/data/Labels/
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:
Запусціце вывад з мадэллю з плаваючай кропкай:
$ 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
Крокі для загрузкі неабходных files для праверкі можна знайсці па адрасе: “/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
$ adb shell “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac
ПРАВАВАЯ ІНФАРМАЦЫЯ
Ваш доступ і выкарыстанне гэтага дакумента, а таксама любых спецыфікацый, даведачнай дошкі files, чарцяжы, дыягностыка і іншая інфармацыя, якая змяшчаецца тут (разам гэта «Дакументацыя») падпарадкоўваецца вашым (уключаючы карпарацыю або іншую юрыдычную асобу, якую вы прадстаўляеце, калектыўна «Вы» або «Ваш») прыняцце ўмоў («Умовы выкарыстання») выкладзена ніжэй. Калі вы не згодныя з гэтымі Умовамі выкарыстання, вы не можаце выкарыстоўваць гэтую дакументацыю і павінны неадкладна знішчыць усе яе копіі.
- Юрыдычнае паведамленне.
Гэта Дакументацыя прадастаўляецца Вам выключна для Вашага ўнутранага выкарыстання разам з прапановамі прадуктаў і паслуг 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.
Дакументы / Рэсурсы
![]() |
Праграмнае забеспячэнне Qualcomm TensorFlow Lite SDK [pdfКіраўніцтва карыстальніка Праграмнае забеспячэнне TensorFlow Lite SDK, праграмнае забеспячэнне Lite SDK, праграмнае забеспячэнне SDK, праграмнае забеспячэнне |