Дастури корбар барои нармафзори 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.
Барои сохтани як замимаи ниҳоӣ бо истифода аз зерсистемаҳои мултимедиявӣ, AI ва биниши компютер (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 | RNO-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 | Биниш компютер |
IPK | Бастаи он file |
QIM SDK | Маҷмӯаи таҳияи нармафзори мултимедиявии Qualcomm Intelligent |
SDK | Маҷмӯаи таҳияи нармафзор |
TFLite | TensorFlow Lite |
XNN | Xth наздиктарин ҳамсоя |
Барои абзорҳои Qualcomm TFLite SDK муҳити сохтанро таъсис диҳед
Воситаҳои Qualcomm TFLite SDK дар шакли манбаъ бароварда мешаванд; аз ин рӯ, таъсис додани муҳити сохтмон барои тартиб додани он як насби ҳатмӣ, вале якдафъаина аст.
Шартҳои пешакӣ
- Боварӣ ҳосил кунед, ки шумо ба мошини мизбони Linux sudoaccess доред.
- Боварӣ ҳосил кунед, ки версияи мизбони 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 насб кунед git-core gnupg flex bizon 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-utilsfigs
Барои маълумоти иловагӣ ба https://s нигаредource.android.com/docs/setup/start/initializing.
Муҳити докерро насб кунед
Докер платформаест, ки барои сохтан, таҳия, озмоиш ва расонидани нармафзор истифода мешавад. Барои тартиб додани SDK, докер бояд дар мошини мизбони Linux танзим карда шавад.
Боварӣ ҳосил кунед, ки виртуализатсияи CPU дар мошини мизбони Linux фаъол аст. Агар он фаъол набошад, барои фаъол кардани он аз танзимоти конфигуратсияи системаи асосии вуруд/баромад (BIOS) амалҳои зеринро иҷро кунед:
- Виртуализатсияро аз BIOS фаъол кунед:
a. Вақте ки система пурбор мешавад, то ба BIOS ворид шавад, F1 ё F2 -ро пахш кунед. Равзанаи BIOS нишон дода мешавад.
b. Гузариш ба ҷадвали Advanced.
c. Дар бахши конфигуратсияи CPU, Технологияи виртуализатсияро ба Фаъол танзим кунед.
a. Барои захира кардан ва баромадан, F12-ро пахш кунед ва системаро бозоғоз намоед.
Агар ин қадамҳо кор накунанд, дастурҳои мушаххаси провайдери системаро иҷро кунед, то виртуализатсияро фаъол созед - Ҳама мисолҳои кӯҳнаи докерро нест кунед:
$ sudo apt docker-desktop хориҷ кунед
$ rm -r $HOME/.docker/мизи
$ sudo rm /usr/local/bin/com.docker.cli
$ sudo apt purge docker-desktop - Анбори дурдасти докерро насб кунед:
$ sudo apt-get update $ sudo apt-get насб кардани CA сертификатҳо вurl 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) signed-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 насби docker-ce docker-ce-cli - Илова кардани корбар ба гурӯҳи docker:
$ sudo groupadd docker $ sudo usermod -aG docker $USER - Системаро бозоғоз намоед.
Эҷоди платформаи SDK
Платформаи SDK як талаботи ҳатмӣ барои тартиб додани абзорҳои Qualcomm TFLite SDK мебошад. Он ҳама вобастагии платформаи заруриро, ки аз ҷониби Qualcomm TFLite SDK талаб карда мешавад, таъмин мекунад.
Барои тавлиди платформаи SDK амалҳои зеринро иҷро кунед:
- Барои маҳсулоти нармафзори интихобшуда як сохтмон эҷод кунед.
Дастурҳо оид ба сохтани QCS8550.LE.1.0release дар қайдҳои нашр оварда шудаанд. Барои дастрасӣ ба ёддоштҳои нашр, ба истинодҳо нигаред.
Агар тасвирҳо қаблан сохта шуда бошанд, қадами 2-ро иҷро кунед ва сипас сохтани тоза эҷод кунед. - Барои сохтани тасвирҳои фазои корбар ва платформаи SDK фармони зеринро иҷро кунед:
Барои QCS8550.LE.1.0, хусусияти мошини qti-tflite-delegate дар MACHINE_FEATURES дар kalama.conf илова кунед file ва муҳити сохтанро мувофиқи дастурҳо аз қайдҳои нашрия сарчашма гиред.
Пас аз тавлиди тасвирҳои фазои корбар аз сохтмон, фармони зеринро иҷро кунед, то платформаи SDK-ро тавлид кунед.
$ bitbake -fc populate_sdk qti-robotics-тасвир
Сохтани асбобҳои 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
Qualcomm TFLite SDK ҳангоми эҷоди тасвири докер тартиб дода мешавад. Барои ҳамоҳангсозӣ ва сохтани 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 озод кунед && синхронизатсияи репо -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”, “Намояндагони”: { “Шашкунҷаи_вакил”: “ХОФУ”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ /", "SDK_path": "/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>", "SDK_shell_file”: “”, “Базаи_Дир_Макон”: “” }
Барои маълумоти бештар дар бораи вурудоти дар конфигуратсияи json зикршуда file, ба хондани Docker.md нигаред file дар /tflite-tools/.
ШАРҲ Барои QCS8550, вакили Qualcomm® Hexagon™ DSP дастгирӣ намешавад. - Сарчашмаи скрипт барои танзими муҳити зист:
$ CD /tflite-tools $ source ./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 истифода мешавад.
Дастгоҳро ба мизбон ва ҷойгиркунии артефактҳо пайваст кунед]
Пас аз тартиб додан, ду механизм барои пайваст кардани дастгоҳ ба ҳост ва ҷойгиркунии он мавҷуд аст
Артефактҳои Qualcomm TFLite SDK.
- Дастгоҳ ба мизбони маҳаллии Linux пайваст:
Таҳиягар дастгоҳро ба истгоҳи корӣ пайваст мекунад ва артефактҳои Qualcomm TFLite SDK-ро аз контейнер мустақиман дар дастгоҳ насб мекунад (QCS8550). - Дастгоҳ ба ҳости дурдаст пайваст:
Таҳиягар дастгоҳро ба як истгоҳи кории дурдаст пайваст мекунад ва онҳо метавонанд фармонҳои менеҷери насбкуниро дар платформаҳои Windows ва Linux барои насб кардани артефактҳои Qualcomm TFLite SDK ба дастгоҳ истифода баранд (QCS8550)
Тасвири 4-4 Пайваст кардани тахтаи дастгоҳ ба таҳиякунанда ва истгоҳи кории дурдаст
Дастгоҳро ба истгоҳи корӣ пайваст кунед
Дастгоҳ ба истгоҳи корӣ пайваст аст ва контейнери таҳия метавонад ба дастгоҳ тавассути USB/adb дастрасӣ пайдо кунад.
Дар расм с нишон дода шудаастtages дар пайдарпаии ҷараёни кории Qualcomm TFLite SDK:
- Барои насб кардани артефактҳо ба дастгоҳ фармонҳои зеринро иҷро кунед:
$ tflite-tools-дастгоҳ-тайёр кунед
$ tflite-tools-device-deply - Барои нест кардани артефактҳо, фармони зеринро иҷро кунед:
$ tflite-tools-дастгоҳ-бастаҳои-нест кардан
Дастгоҳро ба мошини дурдаст пайваст кунед
Дастгоҳ ба мошини дурдаст пайваст аст ва контейнери Qualcomm TFLite SDK наметавонад тавассути USB/ad b ба дастгоҳ дастрасӣ пайдо кунад.
Дар расм с нишон дода шудаастtages дар пайдарпаии ҷараёни кории Qualcomm TFLite SDK:
Фармонҳои зеринро дар контейнери tflite-tools иҷро кунед, то артефактҳоро ба мошини дурдаст нусхабардорӣ кунед
вобаста ба мудири бастаи дастгоҳ:
$ tflite-асбобҳои-дурдаст-синхронизатсия-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 интизорӣ барои дастгоҳ 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-tools - Контейнерро қатъ кунед:
$ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json - Контейнерро хориҷ кунед:
$ tflite-tools-host-rm-контейнер ./targets/ le-tflite-tools-builder.json - Тасвирҳои кӯҳнаи докерро хориҷ кунед:
$ tflite-tools-мизбон-тасвирҳои-тозакунӣ
Мушкилоти насби докерро ҳал кунед
Агар фармони tflite-tools-host-build-image паёми Nospace-и дар дастгоҳ боқӣ мондаро баргардонад, он гоҳ феҳристи докерро ба/local/mnt интиқол диҳед. Барои бартараф кардани мушкилот дар танзим амалҳои зеринро иҷро кунед:
- Докери мавҷударо нусхабардорӣ кунед files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(санаи + %s).tar.gz - Докерро қатъ кунед:
$ Истгоҳи хидматрасонии докер - Боварӣ ҳосил кунед, ки ягон раванди докер кор намекунад:
$ ps қалбакӣ | grep docker - Сохтори феҳристи docker-ро тафтиш кунед:
$ sudo ls /var/lib/docker/ - Феҳристи докерро ба қисмати нав интиқол диҳед:
$ mv /var/lib/docker /local/mnt/docker - Дар қисмати нав ба феҳристи докер истиноди рамзӣ созед:
$ ln -s /local/mnt/docker /var/lib/docker - Боварӣ ҳосил кунед, ки сохтори директорияи docker бетағйир мемонад:
$ sudo ls /var/lib/docker/ - Докерро оғоз кунед:
$ service docker оғоз меёбад - Пас аз интиқол додани директорияи docker ҳамаи контейнерҳоро аз нав оғоз кунед.
Бо истгоҳи кории Linux TFLite SDK тавлид кунед
Ҷараёни кории 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 озод кунед && синхронизатсияи репо -qc –no-tags -j8 && синхронизатсияи репо -qc -no-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”, “Намояндагони”: { “Шашкунҷаи_вакил”: “ХОФУ”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ ”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Make_Dir_Location”: “”
Барои маълумоти бештар дар бораи вурудоти дар конфигуратсияи json зикршуда file, ба хондани Docker.md нигаред file дар /tflite-tools/.
ШАРҲ Барои QCS8550, намояндаи Hexagon DSP дастгирӣ намешавад - Сарчашмаи скрипт барои танзими муҳити зист:
$ CD /tflite-tools
$ source ./scripts/host/host_env_setup.sh - Сохтани Qualcomm TFLite SDK.
$ tflite-tools-танзими ҳадафҳо/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 интизорӣ барои дастгоҳ 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, скрипти зеринро истифода баред
Барои сохтани QIM SDK артефактҳои Qualcomm TFLite SDK эҷод кунед
Барои истифодаи артефактҳои тавлидшуда барои фаъол кардани плагини Qualcomm TFLite SDK GStreamer дар QIM SDK, амалҳои зеринро иҷро кунед:
- Тартибро дар Синхронизатсия анҷом диҳед ва 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, қатронро истифода баред 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-асбобҳои-дурдаст-синхронизатсия-ipk-rel-pkg
Or
$ tflite-асбобҳои-дурдаст-синхронизатсия-deb-rel-pkg - Бастаи таҳиякунандаро омода кунед:
$ tflite-tools-ipk-dev-pkg
Артефактҳои тартибдодашуда дар папкаи TFLite_rsync_destination, ки дар JSON зикр шудааст, пайдо мешаванд. file, ки онро ба ягон директория нусхабардорӣ кардан мумкин аст.
Бо намояндаи TFLite берунии QNN кор кунед
Вакили берунии TFLite ба шумо имкон медиҳад, ки моделҳои худро (қисман ё пурра) дар иҷрокунандаи дигар бо истифода аз китобхонаҳое, ки аз ҷониби шахси сеюми боваринок ба монанди QNN аз ҷониби Qualcomm пешниҳод шудаанд, иҷро кунед. Ин механизм метавонад суръатбахшҳои гуногуни дастгоҳро ба монанди GPU ё Processor Hexagon Tensor (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-ро нависед. Аз рӯйхати системаи OS, Linux-ро интихоб кунед.
Натиҷаҳои ҷустуҷӯ рӯйхати менеҷерҳои бастаи Qualcomm -ро нишон медиҳанд.
c. Qualcomm Package Manager 3-ро интихоб кунед ва бастаи debian Linux-ро зеркашӣ кунед. - 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 -ро нависед. Аз рӯйхати системаи OS, Linux-ро интихоб кунед.
A рӯйхати афтанда, ки дорои муҳаррикҳои гуногуни стекҳои AI нишон дода мешавад.
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 -иқтибос /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/unsignedH73V. ҳамин тавр /usr/lib/rfsa/adsp
Санҷиши Qualcomm TFLite SDK
Qualcomm TFLite SDK баъзе пешро таъмин мекунадample замимаҳоеро, ки метавонанд барои тасдиқ, муқоиса ва ба даст овардани дақиқии моделҳое, ки таҳиякунанда баҳо додан мехоҳад, истифода бурдан мумкин аст.
Пас аз насб кардани бастаҳои 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 объекти гуногун омӯзонида шудааст.
- Модел гиред
$ curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /дата $ 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 ба/маълумот/Табликҳо/
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=/data/profiling/” - Вакили 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=/data/profiling/” - Вакили беруна
GPU намояндаи берунии 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_rlib/skel_rfry /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;_dirlibrary:_rlibry/skellibraf /adsp'"
Воситаи дақиқ
Qualcomm TFLite SDK як воситаи дақиқро барои ҳисоб кардани дақиқии моделҳо бо вақтҳои гуногун таъмин мекунад.
- Тасниф бо намояндаи GPU
Қадамҳо барои зеркашии зарурӣ files барои санҷиш метавон дар ин ҷо пайдо кард: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classicatio/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=/маълумот/Моделҳо/ –delegate=xnnpac
МАЪЛУМОТИ ХУКУКИ
Дастрасии шумо ба ин ҳуҷҷат ва истифодаи ҳама гуна мушаххасот, лавҳаи истинод files, расмҳо, ташхис ва дигар маълумоти дар ин ҷо мавҷудбуда (дар маҷмӯъ ин "Ҳуҷҷатҳо"), ба шумо (аз ҷумла ба корпоратсия ё дигар шахси ҳуқуқие, ки шумо намояндагӣ мекунед, ба таври дастаҷамъӣ) тобеъ аст "Шумо" ё "Ту") кабули шарту шартхо ("Шартҳои истифода") дар поён оварда шудааст. Агар шумо ба ин Шартҳои истифода розӣ набошед, шумо наметавонед ин ҳуҷҷатро истифода баред ва ҳама нусхаи онро фавран нест кунед.
- Огоҳии ҳуқуқӣ.
Ин Ҳуҷҷат танҳо барои истифодаи дохилии шумо бо он маҳсулот ва хидматҳои Qualcomm Technologies, Inc. ("Qualcomm Technologies") ва филиалҳои он, ки дар ин Ҳуҷҷат тавсиф шудаанд, дастрас карда мешавад ва барои ягон мақсадҳои дигар истифода намешавад. Ин ҳуҷҷатро бидуни иҷозати хаттии Qualcomm Technologies ба ҳеҷ ваҷҳ тағир додан, таҳрир кардан ё тағир додан мумкин нест. Истифодаи беиҷозат ё ифшои ин
Ҳуҷҷатгузорӣ ё маълумоти дар ин ҷо мавҷудбуда ба таври қатъӣ манъ аст ва шумо розӣ мешавед, ки Qualcomm Technologies, филиалҳо ва литсензиядорони он барои ҳама гуна хисорот ё талафоти аз ҷониби Qualcomm Technologies, филиалҳои он ва литсензиядорони он барои ҳама гуна истифода ё ифшои беиҷозат ё ифшои он, қисми. Qualcomm Technologies, филиалҳо ва иҷозатномадорони он ҳама ҳуқуқҳо ва моликиятро дар ин Ҳуҷҷат ва ба ин ҳуҷҷат нигоҳ медоранд. Ҳеҷ гуна литсензия ба ягон тамғаи молӣ, патент, ҳуқуқи муаллифӣ, ҳуқуқи ҳифзи кори ниқоб ё дигар ҳуқуқи моликияти зеҳнӣ аз ҷониби ин Ҳуҷҷат ё ҳама гуна маълумоти дар ин ҷо ифшошуда, аз ҷумла, ягон иҷозатнома барои истеҳсол, истифода, воридот ё ҳама гуна маҳсулот, хидмат ё технологияеро, ки ҳама гуна маълумоти дар ин Ҳуҷҷатҳоро дар бар мегирад, фурӯшед.
ИН ҲУҶҶАТ "Чунон ки ҳаст" БЕ ЯГОН КАФОЛАТ, ХОҲ ИЗҲОРОНА, ХОҲ хоҳ ошкоро, хоҳ дар назар дошташуда, хоҳ қонунӣ ва хоҳ ба тариқи дигар, пешниҳод карда мешавад. То ҳадди аксар, ки қонун, QUALCOMM TECHNOLOGIES, филиалҳо ва литсензиядиҳандагони он иҷозат медиҳад, аз ҳама кафолатҳои унвонӣ, тиҷоратӣ, ғайриқонунӣ, ҳуқуқвайронкуниҳо, ҳуқуқвайронкуниҳо, ҳуқуқвайронкуниҳо, ҳуқуқвайронкуниҳо БОЗОРЙ Ё ДАҲҚИӢ, ВА ҲАМАИ КАФОЛАТҲО, КИ АЗ ИСТИФОДАҲОИ ТИҶОРӢ ё БЕРУН АЗ КУРСИ МУНОСИБАТ Ё КУРСИ ИЧРОИ. ЗИЁДА, НА QUALCOMM TECHNOLOGIES, НА ЯГОН ШАРИФ ВА ЛИЦЕНЗИЗОРОНИ ОН, БАРОИ ЯГОН ХАРОҶОТ, ТАЛАФ, ИСТИФОДА ѐ АМАЛИЁТ ДАР НАЗДИ ШУМО ѐ ЯГОН ШАХСИ СЕЮМ ЧАВОБГАРДАНД CE ДАР БОРАИ ИН ҲУҶҶАТ.
Баъзе маҷмӯаҳои маҳсулот, асбобҳо ва маводҳои дар ин Ҳуҷҷат истинодшуда метавонанд аз шумо талаб кунанд, ки пеш аз дастрасӣ ё истифодаи ин ашёҳо шарту шартҳои иловагиро қабул кунед.
Маълумоти техникие, ки дар ин Ҳуҷҷат нишон дода шудаанд, метавонанд ба қонунҳои ИМА ва дигар қонунҳои дахлдори назорати содиротӣ тобеъ бошанд. Интиқоли бар хилофи ИМА ва дигар қонунҳои амалкунанда қатъиян манъ аст.
Ҳеҷ чиз дар ин ҳуҷҷат пешниҳоди фурӯши ягон ҷузъ ё дастгоҳҳои дар ин ҷо зикршуда нест.
Ин Ҳуҷҷат бояд бидуни огоҳии минбаъда тағир дода шавад. Дар сурати ихтилоф байни ин Шартҳои истифода ва 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, нармафзор |