Uživatelská příručka softwaru Qualcomm TensorFlow Lite SDK
Historie revizí
Revize | Datum | Popis |
AA | září 2023 | Počáteční vydání |
AB | října 2023 |
|
Úvod do nástrojů Qualcomm TFLite SDK
Nástroje sady pro vývoj softwaru Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) poskytují rámec TensorFlow Lite pro odvození umělé inteligence (AI) na zařízení, který vývojářům aplikací usnadňuje vývoj nebo provozování vhodných aplikací AI.
Tento dokument obsahuje podrobné pokyny ke kompilaci samostatné sady Qualcomm TFLite SDK a nastavení vývojového prostředí. To umožňuje vývojářský pracovní postup, který zahrnuje:
- nastavení prostředí sestavení, kde může vývojář zkompilovat sadu Qualcomm TFLite SDK
- vývoj samostatných aplikací Qualcomm TFLite SDK
Podporu najdete na https://www.qualcomm.com/Podpěra, podpora. Následující obrázek poskytuje shrnutí pracovního postupu sady Qualcomm TFLite SDK:
Obrázek 1-1 Pracovní postup Qualcomm TFLite SDK
Nástroj vyžaduje platformu SDK a konfiguraci file (formát JSON) ke generování artefaktů Qualcomm TFLite SDK.
Chcete-li sestavit komplexní aplikaci pomocí multimédií, umělé inteligence a podsystémů počítačového vidění (CV), viz Stručná úvodní příručka Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
Tabulka ukazuje mapování verze Qualcomm TFLite SDK s vydáním CodeLinaro tag:
Tabulka 1-1 Informace o verzi
Verze Qualcomm TFLite SDK | Vydání CodeLinaro tag |
V1.0 | Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0 |
Tabulka 1-2 Podporované verze sady Qualcomm TFLite SDK
Qualcomm Verze TFLite SDK | Podporovaný softwarový produkt | Podporovaná verze TFLite |
V1.0 | QCS8550.LE.1.0 |
|
|
||
|
||
|
||
|
||
|
Reference
Tabulka 1-3 Související dokumenty
Titul | Číslo |
Qualcomm | |
00067.1 Poznámka k vydání pro QCS8550.LE.1.0 | RNO-230830225415 |
Stručná příručka Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-51 |
Referenční příručka Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-50 |
Zdroje | |
https://source.android.com/docs/setup/start/initializing | – |
Tabulka 1-4 Zkratky a definice
Zkratka nebo termín | Definice |
AI | Umělá inteligence |
BIOS | Základní vstupní/výstupní systém |
CV | Počítačové vidění |
IPK | Jeho balíček file |
QIM SDK | Sada pro vývoj inteligentního multimediálního softwaru Qualcomm |
SDK | Sada pro vývoj softwaru |
TFLite | TensorFlow Lite |
XNN | Xth nejbližší soused |
Nastavte sestavení prostředí pro nástroje Qualcomm TFLite SDK
Nástroje Qualcomm TFLite SDK jsou vydány ve zdrojové podobě; proto je vytvoření prostředí sestavení pro jeho kompilaci povinné, ale jednorázové nastavení.
Předpoklady
- Ujistěte se, že máte sudoaccess k hostitelskému počítači Linux.
- Ujistěte se, že verze hostitele Linuxu je Ubuntu 18.04 nebo Ubuntu 20.04.
- Zvyšte maximální počet sledování uživatelů a maximální počet uživatelských instancí v hostitelském systému.
- Přidejte následující příkazové řádky do /etc/sysctl.confand restartujte hostitele: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288
Nainstalujte požadované hostitelské balíčky
Hostitelské balíčky jsou nainstalovány na hostitelském počítači Linux.
Spusťte příkazy pro instalaci hostitelských balíčků: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Pro Ubuntu 18.04 a vyšší:
$ 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-unconfigs x
Další informace najdete na https://source.android.com/docs/setup/start/initializing.
Nastavte prostředí dockeru
Docker je platforma používaná k vytváření, vývoji, testování a dodávání softwaru. Chcete-li zkompilovat sadu SDK, musí být docker nakonfigurován na hostitelském počítači Linux.
Ujistěte se, že je na hostitelském počítači Linux povolena virtualizace CPU. Pokud není povoleno, povolte jej následujícím způsobem z nastavení konfigurace základního vstupního/výstupního systému (BIOS):
- Povolit virtualizaci z BIOSu:
a. Stisknutím klávesy F1 nebo F2 při spouštění systému vstoupíte do systému BIOS. Zobrazí se okno systému BIOS.
b. Přejděte na kartu Upřesnit.
c. V části Konfigurace CPU nastavte Virtualization Technology na Enabled.
a. Stiskněte F12 pro uložení a ukončení a poté restartujte systém.
Pokud tyto kroky nefungují, povolte virtualizaci podle konkrétních pokynů od poskytovatele systému - Odeberte všechny staré instance dockeru:
$ sudo apt odebrat docker-desktop
$ rm -r $HOME/.docker/desktop
$ sudo rm /usr/local/bin/com.docker.cli
$ sudo apt purge docker-desktop - Nastavte vzdálené úložiště dockeru:
$ 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) signature-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilní” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null - Nainstalujte docker engine:
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli - Přidat uživatele do skupiny dockerů:
$ sudo groupadd docker $ sudo usermod -aG docker $USER - Restartujte systém.
Vygenerujte SDK platformy
Platforma SDK je povinným požadavkem pro kompilaci nástrojů Qualcomm TFLite SDK. Poskytuje všechny požadované závislosti na platformě vyžadované sadou Qualcomm TFLite SDK.
Chcete-li vygenerovat sadu SDK platformy, postupujte takto:
- Vytvořte sestavení pro preferovaný softwarový produkt.
Pokyny k sestavení vydání QCS8550.LE.1.0 jsou uvedeny v poznámkách k vydání. Chcete-li získat přístup k poznámkám k verzi, viz Reference.
Pokud byly obrazy dříve sestaveny, proveďte krok 2 a poté vytvořte čisté sestavení. - Spusťte následující příkaz k vytvoření obrazů uživatelského prostoru a platformy SDK:
Pro QCS8550.LE.1.0 přidejte funkci stroje qti-tflite-delegate v MACHINE_FEATURES v kalama.conf file a zdroj prostředí sestavení podle pokynů z poznámek k verzi.
Po vygenerování obrazů uživatelského prostoru ze sestavení spusťte následující příkaz pro vygenerování sady SDK platformy.
$ bitbake -fc populate_sdk qti-robotics-image
Sestavte nástroje Qualcomm TFLite SDK – vývojářský pracovní postup
Pracovní postup nástrojů Qualcomm TFLite SDK vyžaduje, aby vývojář poskytl konfiguraci file s platnými vstupními údaji. Pomocné skripty shellu z projektu tflite-tools (přítomné ve zdrojovém stromu Qualcomm TFLite SDK) poskytují pomocné pomocné funkce pro nastavení prostředí shellu, které lze použít pro pracovní postup Qualcomm TFLite SDK.
Vývojář vytváří projekty Qualcomm TFLite SDK v kontejneru a generuje artefakty pomocí nástrojů poskytovaných nástroji tflite-tools.
Po vytvoření kontejneru Qualcomm TFLite SDK se může vývojář připojit ke kontejneru a používat pomocné nástroje v prostředí kontejnerového prostředí pro nepřetržitý vývoj.
- Existuje ustanovení pro instalaci artefaktů Qualcomm TFLite SDK do zařízení Qualcomm připojeného k hostiteli Linux přes USB/adb.
- Existuje také ustanovení pro zkopírování artefaktů Qualcomm TFLite SDK z kontejneru na jiný hostitelský počítač, ke kterému je připojeno zařízení Qualcomm.
Následující obrázek uvádí sadu nástrojů dostupných po nastavení prostředí pro sestavení kontejneru pomocí pomocných skriptů pro sestavení sady Qualcomm TFLite SDK.
Obrázek ukazuje pořadí provádění utilit:
Obrázek 4-3 Pořadí utilit na hostiteli
Synchronizujte a sestavujte sadu Qualcomm TFLite SDK
Sada Qualcomm TFLite SDK se zkompiluje při vytvoření obrazu dockeru. Chcete-li synchronizovat a sestavit sadu Qualcomm TFLite SDK, postupujte takto:
- Vytvořte adresář na hostiteli file systému pro synchronizaci pracovního prostoru Qualcomm TFLite SDK. Pro
exampten: $mkdir $cd - Získejte zdrojový kód Qualcomm TFLite SDK z 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 release && repo sync -qc –no-tags -j - Vytvořte adresář na hostiteli file systém, který lze namontovat do dockeru. Napřample: mkdir-p / Tento adresář lze vytvořit kdekoli na hostitelském počítači Linux a nezávisí na tom, kde je synchronizován projekt Qualcomm TFLite SDK. Po dokončení pracovního postupu v kontejneru lze artefakty Qualcomm TFLite SDK nalézt v adresáři vytvořeném v tomto kroku.
- Upravte konfiguraci JSON file přítomný v /tflite-tools/ targets/le-tflite-tools-builder.json s následujícími položkami:
„Image“: „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”: “”, “Umístění_základního_adresáře”: “” }
Další informace o položkách uvedených v konfiguraci json file, viz soubor readme Docker.md file na /tflite-tools/.
POZNÁMKA Pro QCS8550 není delegát Qualcomm® Hexagon™ DSP podporován. - Zdroj skriptu pro nastavení prostředí:
$ cd /tflite-tools $ source ./scripts/host/docker_env_setup.sh - Sestavte bitovou kopii Qualcomm TFLite SDK dockeru: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Pokud se nastavení sestavení nezdaří, přečtěte si téma Odstraňování problémů s nastavením dockeru. Po úspěšném dokončení se zobrazí následující zpráva: „Stav: Vytvoření obrazu bylo úspěšně dokončeno!! Spuštěním tohoto kroku vytvoříte také sadu Qualcomm TFLite SDK.
- Spusťte dokovací kontejner Qualcomm TFLite SDK. Tím se spustí kontejner s tags poskytnutý v konfiguraci JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
- Připojte ke kontejneru, který začal v předchozím kroku.
$ připojit docker
Sada Qualcomm TFLite SDK je zkompilována a artefakty jsou připraveny k nasazení nebo mohou být dále
slouží ke generování zásuvného modulu QIM SDK TFLite.
Připojte zařízení k hostiteli a nasazení artefaktů]
Po kompilaci existují dva mechanismy pro připojení zařízení k hostiteli a nasazení
Artefakty Qualcomm TFLite SDK.
- Zařízení připojené k místnímu hostiteli Linuxu:
Vývojář připojí zařízení k pracovní stanici a nainstaluje artefakty Qualcomm TFLite SDK z kontejneru přímo na zařízení (QCS8550). - Zařízení připojené ke vzdálenému hostiteli:
Vývojář připojí zařízení ke vzdálené pracovní stanici a může použít příkazy instalačního programu správce balíčků na platformách Windows a Linux k instalaci artefaktů Qualcomm TFLite SDK do zařízení (QCS8550)
Obrázek 4-4 Připojení desky zařízení k vývojáři a vzdálené pracovní stanici
Připojte zařízení k pracovní stanici
Zařízení je připojeno k pracovní stanici a vývojový kontejner může k zařízení přistupovat přes USB/adb.
Obrázek ukazuje stagje v sekvenci pracovního postupu Qualcomm TFLite SDK:
- Chcete-li nainstalovat artefakty do zařízení, spusťte následující příkazy:
$ tflite-tools-device-prepare
$ tflite-tools-device-deploy - Chcete-li artefakty odinstalovat, spusťte následující příkaz:
$ tflite-tools-device-packages-remove
Připojte zařízení ke vzdálenému počítači
Zařízení je připojeno ke vzdálenému počítači a kontejner Qualcomm TFLite SDK nemá přístup k zařízení přes USB/ad b.
Obrázek ukazuje stagje v sekvenci pracovního postupu Qualcomm TFLite SDK:
Spuštěním následujících příkazů v kontejneru tflite-tools zkopírujte artefakty na vzdálený počítač
v závislosti na správci balíčků v zařízení:
$ tflite-tools-remote-sync-ipk-rel-pkg
POZNÁMKA Informace o vzdáleném počítači jsou poskytovány v konfiguraci JSON file.
Nainstalujte artefakty pro platformu Windows
Artefakty Qualcomm TFLite SDK lze nainstalovat do zařízení na základě operačního systému vzdáleného počítače.
Pro platformu Windows proveďte následující:
V PowerShellu použijte následující skript: PS C:
> adb root PS C:> adb disable-verity PS C:> adb restart PS C:> adb čekání na zařízení 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 Pokud je balíček ipk (pro QCS8550.LE.1.0), použijte následující příkazy: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Nainstalujte artefakty pro platformu Linux
Použijte následující příkazy:
$ adb root $ adb disable-verity $ adb restart $ adb čekání na zařízení $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp If balíček je ipk (pro QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Vyčistěte obrázek dockeru
Po dokončení pracovního postupu pro vývojáře by se mělo prostředí dockeru vyčistit, aby se uvolnilo úložiště na disku. Vyčištěním ukotvitelného panelu se odstraní nepoužívané kontejnery a obrazy, čímž se uvolní místo na disku.
K vyčištění obrazu dockeru použijte následující příkazy:
- Na pracovní stanici Linux spusťte následující příkaz:
$ cd /tflite-tools - Zastavte kontejner:
$ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json - Odstraňte nádobu:
$ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json - Odstraňte starší obrázky dockeru:
$ tflite-tools-host-images-cleanup
Odstraňování problémů s nastavením dockeru
Pokud příkaz tflite-tools-host-build-image vrátí zprávu Nospace vlevo na zařízení, přesuňte adresář dockeru do/local/mnt. Při odstraňování problémů s nastavením postupujte takto:
- Zálohujte stávající docker files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date + %s).tar.gz - Zastavte docker:
$ zastavení servisního dockeru - Ověřte, že není spuštěn žádný proces dockeru:
$ ps faux | grep docker - Zkontrolujte adresářovou strukturu dockeru:
$ sudo ls /var/lib/docker/ - Přesuňte adresář dockeru do nového oddílu:
$ mv /var/lib/docker /local/mnt/docker - Vytvořte symbolický odkaz na adresář docker v novém oddílu:
$ ln -s /local/mnt/docker /var/lib/docker - Ujistěte se, že adresářová struktura dockeru zůstane nezměněna:
$ sudo ls /var/lib/docker/ - Spustit ukotvitelný panel:
$ spuštění servisního dockeru - Po přesunutí adresáře dockeru restartujte všechny kontejnery.
Vygenerujte TFLite SDK s pracovní stanicí Linux
Pracovní postup TFLite SDK lze povolit bez kontejnerů pomocí pracovní stanice Linux. Tento postup je alternativou k použití kontejnerů.
Chcete-li synchronizovat a sestavit sadu Qualcomm TFLite SDK, postupujte takto:
- Vytvořte adresář na hostiteli file systému pro synchronizaci pracovního prostoru Qualcomm TFLite SDK. Napřampten:
$mkdir
$cd - Získejte zdrojový kód Qualcomm TFLite SDK z 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 release && repo sync -qc –no-tags -j8 && repo synchronizace -qc –ne-tags -j8 - 3. Upravte konfiguraci JSON file předložit /tflite-tools/ targets/le-tflite-tools-builder.json s následujícími položkami
„Image“: „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”: “”, “Umístění_základního_adresáře”: “”
Další informace o položkách uvedených v konfiguraci json file, viz soubor readme Docker.md file na /tflite-tools/.
POZNÁMKA Pro QCS8550 není podporován delegát Hexagon DSP - Zdroj skriptu pro nastavení prostředí:
$ cd /tflite-tools
$ source ./scripts/host/host_env_setup.sh - Sestavte sadu Qualcomm TFLite SDK.
$ tflite-tools-setup targets/le-tflite-tools-builder.json - Spusťte následující příkazy nástroje ve stejném prostředí Linuxu a shromážděte artefakty 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 - Nainstalujte artefakty založené na operačním systému
- Pro platformu Windows v prostředí PowerShell použijte následující skript
PS C:> adb root PS C:> adb disable-verity PS C:> adb restart PS C:> adb čekající na zařízení 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
Pokud je balíček ipk (pro QCS8550.LE.1.0), použijte následující příkazy:
PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
Pro platformu Linux použijte následující skript:
$ adb root $ adb disable-verity $ adb restart $ adb čekání na zařízení $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Pokud je balíček ipk (pro QCS8550.LE.1.0):
$ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
- Pro platformu Windows v prostředí PowerShell použijte následující skript
Generujte artefakty Qualcomm TFLite SDK pro sestavení QIM SDK
Chcete-li použít vygenerované artefakty k povolení zásuvného modulu Qualcomm TFLite SDK GStreamer v QIM SDK, postupujte takto:
- Dokončete postup v části Sync and build Qualcomm TFLite SDK a poté spusťte následující příkaz: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
Dehet file je generován. Obsahuje Qualcomm TFLite SDK na cestě uvedené na "TFLite_rsync_destination" - Chcete-li povolit zásuvný modul Qualcomm TFLite SDK GStreamer, použijte tar file jako argument v konfiguraci JSON file pro sestavení QIM SDK.
Informace o kompilaci sady QIM SDK naleznete v Stručné úvodní příručce Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
Sestavujte Qualcomm TFLite SDK postupně
Pokud sestavujete sadu Qualcomm TFLite SDK poprvé, přečtěte si článek Sestavení nástrojů Qualcomm TFLite SDK – pracovní postup pro vývojáře. Stejné sestavení prostředí lze znovu použít pro přírůstkový vývoj.
Pomocné nástroje (v rámci kontejneru) uvedené na obrázku jsou vývojářům k dispozici pro kompilaci upravených aplikací a zásuvných modulů.
Obrázek 5-1 Pracovní postup v kontejneru
Po dokončení změn kódu v adresáři kódu proveďte následující:
- Zkompilujte upravený kód:
$ tflite-tools-incremental-build-install - Kompilovaný kód balíčku:
$ tflite-tools-ipk-rel-pkg nebo $ tflite-tools-deb-rel-pkg - Synchronizujte balíčky vydání s hostitelem file systém:
$ tflite-tools-remote-sync-ipk-rel-pkg
Or
$ tflite-tools-remote-sync-deb-rel-pkg - Připravte si vývojářský balíček:
$ tflite-tools-ipk-dev-pkg
Zkompilované artefakty se nacházejí ve složce TFLite_rsync_destination uvedené v JSON file, který lze zkopírovat do libovolného adresáře.
Pracujte s QNN externím TFLite Delegátem
Externí delegát TFLite vám umožňuje spouštět vaše modely (části nebo celé) na jiném exekutoru pomocí knihoven poskytovaných důvěryhodnou třetí stranou, jako je QNN od společnosti Qualcomm. Tento mechanismus může využívat různé akcelerátory na zařízení, jako je GPU nebo Hexagon Tensor Processor (HTP) pro odvození. To vývojářům poskytuje flexibilní a oddělenou metodu od výchozího TFLite pro urychlení vyvozování.
Předpoklady:
- Ujistěte se, že k extrahování zásobníku QNN AI používáte pracovní stanici Ubuntu.
- Ujistěte se, že používáte QNN verze 2.14 pro spojení s Qualcomm TFLite SDK
Sada Qualcomm TFLite SDK umožňuje spouštět odvození na několika back-endech QNN prostřednictvím externího delegáta TFLite pro QNN. Modely TFLite se společnou reprezentací flatbufferu lze provozovat na GPU a HTP.
Po instalaci balíčků Qualcomm TFLite SDK do zařízení nainstalujte do zařízení knihovny QNN takto.
- Stáhněte si Qualcomm Package Manager 3 pro Ubuntu.
a. Klikněte na https://qpm.qualcomm.com/ a klikněte na Nástroje.
b. V levém podokně do pole Nástroje pro vyhledávání zadejte QPM. Ze seznamu Systémový OS vyberte Linux.
Výsledky hledání zobrazí seznam správců balíčků Qualcomm.
c. Vyberte Qualcomm Package Manager 3 a stáhněte si balíček Linux debian. - Nainstalujte Qualcomm Package Manager 3 pro Linux. Použijte následující příkaz:
$ dpkg -i –force-overwrite /cesta/k/
QualcommPackageManager3.3.0.83.1.Linux-x86.deb - Stáhněte si Qualcomm®
AI Engine Direct SDK na pracovní stanici Ubuntu.
a. Klikněte na https://qpm.qualcomm.com/ a klikněte na Nástroje.
b. V levém podokně do pole Search Tools zadejte AI stack. Ze seznamu Systémový OS vyberte Linux.
A zobrazí se rozevírací seznam obsahující různé moduly zásobníku AI.
c. Klikněte na Qualcomm® AI Engine Direct SDK a stáhněte si balíček Linux v2.14.0. - Nainstalujte Qualcomm® AI Engine Direct SDK na pracovní stanici Ubuntu.
A. Aktivujte licenci:
qpm-cli –license-activate qualcomm_ai_engine_direct
b Nainstalujte AI Engine Direct SDK:
$ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik - Push knihovny do zařízení z pracovní stanice Ubuntu pomocí 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/V73Qnn tedy /usr/lib/rfsa/adsp
Otestujte sadu Qualcomm TFLite SDK
Sada Qualcomm TFLite SDK poskytuje určité example aplikace, které lze použít k ověření, srovnávání a získání přesnosti modelů, které chce vývojář posoudit.
Po instalaci balíčků Qualcomm TFLite SDK do zařízení je v zařízení k dispozici runtime pro spuštění těchto example aplikace.
Předpoklad
Vytvořte v zařízení následující adresáře:
$ adb shell „mkdir /data/Models“
$ adb shell „mkdir /data/Lables“
$ adb shell „mkdir /data/profiling“
Obrázek štítku
Obrázek štítku je nástroj poskytovaný sadou Qualcomm TFLite SDK, který ukazuje, jak můžete načíst předem připravený a převedený model TensorFlow Lite a použít jej k rozpoznání objektů na obrázcích. Předpoklady:
Stáhnout sampmodel a obrázek:
Můžete použít jakýkoli kompatibilní model, ale následující model MobileNet v1 nabízí dobrou ukázku modelu natrénovaného k rozpoznání 1000 různých objektů.
- Získejte model
$ 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/ - Získejte štítky
$ 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/
Poté, co se připojíte ke kontejneru Qualcomm TFLite SDK docker, obrázek najdete na:
“/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
a. Stiskněte toto file to/data/Labels/
b. Spusťte příkaz:
$ 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”
Benchmark
Sada Qualcomm TFLite SDK poskytuje srovnávací nástroj pro výpočet výkonu různých provozních časů.
Tyto srovnávací nástroje aktuálně měří a počítají statistiky pro následující důležité metriky výkonu:
- Čas inicializace
- Inferenční čas zahřívacího stavu
- Inferenční doba ustáleného stavu
- Využití paměti během doby inicializace
- Celkové využití paměti
Předpoklady
Push modely k testování z TFLite Model Zoo (https://tfhub.dev/) do/data/Models/. Spusťte následující skripty:
- Balíček 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/” - Delegát 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/” - Externí delegát
GPU externího delegáta QNN:
Spusťte odvození s modelem s pohyblivou řádovou čárkou:
$ 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_dlib/skel_library_dlib /adsp'“
QNN externí delegát HTP:
Spusťte inferenci pomocí kvantového modelu:
$ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;cesta_knihovny:/usr/lib/ libQnnHtp.so_;skel_librussa;skel:/librussa /adsp'“
Nástroj pro přesnost
Sada Qualcomm TFLite SDK poskytuje nástroj přesnosti pro výpočet přesnosti modelů s různou dobou běhu.
- Klasifikace s delegátem GPU
Kroky ke stažení potřebné files k testování naleznete na: „/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md“
Binární soubor pro spuštění tohoto nástroje je již součástí SDK, takže jej vývojář nemusí sestavovat znovu.
$ 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” - Detekce objektů pomocí sady XNN
$ adb shell “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac
PRÁVNÍ INFORMACE
Váš přístup k tomuto dokumentu a jeho používání, spolu s případnými specifikacemi, referenční deska files, výkresy, diagnostika a další informace zde obsažené (souhrnně toto "Dokumentace"), podléhá vaší (včetně korporace nebo jiné právnické osoby, kterou zastupujete, kolektivně „Vy“ nebo „Vaše“) přijetí podmínek ("Podmínky použití") uvedeno níže. Pokud s těmito Podmínkami použití nesouhlasíte, nesmíte tuto Dokumentaci používat a okamžitě zničíte jakoukoli její kopii.
- Zákonné oznámení.
Tato Dokumentace je vám zpřístupněna výhradně pro vaše interní použití s produkty a nabídkami služeb společnosti Qualcomm Technologies, Inc. (dále jen „Technologie Qualcomm“) a jejích přidružených společností popsaných v této dokumentaci a nebude používána pro žádné jiné účely. Bez předchozího písemného souhlasu společnosti Qualcomm Technologies nesmí být tato dokumentace žádným způsobem měněna, upravována nebo upravována. Neoprávněné použití nebo zveřejnění tohoto
Dokumentace nebo informace zde obsažené jsou přísně zakázány a souhlasíte s tím, že odškodníte společnost Qualcomm Technologies, její přidružené společnosti a poskytovatele licencí za jakékoli škody nebo ztráty, které utrpí společnost Qualcomm Technologies, její přidružené společnosti a poskytovatelé licencí za jakékoli takové neoprávněné použití nebo zveřejnění této Dokumentace, v celku nebo část. Qualcomm Technologies, její přidružené společnosti a poskytovatelé licencí si ponechávají veškerá práva a vlastnictví k této dokumentaci. Žádná licence k jakékoli ochranné známce, patentu, autorskému právu, právu na ochranu díla s maskami nebo k jakémukoli jinému právu duševního vlastnictví není udělena ani implikována touto dokumentací ani žádnými informacemi zde zveřejněnými, včetně, nikoli však výhradně, jakékoli licence na vytváření, používání, dovoz nebo prodávat jakýkoli produkt, službu nebo nabídku technologie ztělesňující kteroukoli z informací v této dokumentaci.
TATO DOKUMENTACE JE POSKYTOVÁNA „TAK, JAK JE“, BEZ ZÁRUKY JAKÉHOKOLI DRUHU, AŤ UŽ VÝSLOVNÉ, PŘEDPOKLÁDANÉ, ZÁKONNÉ NEBO JINÉ. V MAXIMÁLNÍM ROZSAHU POVOLENÉM ZÁKONEM SE TECHNOLOGIE QUALCOMM, JEJÍ PŘIDRUŽENÉ SPOLEČNOSTI A POSKYTOVATELÉ LICENCE VÝSLOVNĚ ZŘÍKÁ VŠECH ZÁRUK VLASTNICTVÍ, OBCHODOVATELNOSTI, NEPORUŠENÍ, VHODNOSTI PRO KONKRÉTNÍ ÚČEL A KOMPLEXNÍ ÚČEL ZÁRUKY VYPLÝVAJÍCÍ Z OBCHODNÍHO POUŽITÍ NEBO MIMO PRŮBĚH JEDNÁNÍ NEBO PRŮBĚHU VÝKONU. NAVÍC ANI TECHNOLOGIE QUALCOMM, ANI ŽÁDNÉ JEJÍ PŘIDRUŽENÉ SPOLEČNOSTI NEBO POSKYTOVATELÉ LICENCE NENESE ODPOVĚDNOST VÁM ANI ŽÁDNÉ TŘETÍ STRANĚ ZA JAKÉKOLI VÝDAJE, ZTRÁTY, POUŽÍVÁNÍ NEBO AKCE, JAK JAK JAK VZNIKNETE NEBO ZPŮSOBEM ZPŮSOBÍTE.
Některé sady produktů, nástroje a materiály uvedené v této dokumentaci mohou vyžadovat, abyste před přístupem nebo používáním těchto položek přijali dodatečné podmínky.
Technické údaje uvedené v této dokumentaci mohou podléhat americkým a dalším platným zákonům o kontrole exportu. Přenos, který je v rozporu s USA a jakýmikoli jinými platnými zákony, je přísně zakázán.
Nic v této dokumentaci nepředstavuje nabídku prodeje komponent nebo zařízení zde uvedených.
Tato dokumentace se může bez dalšího upozornění změnit. V případě rozporu mezi těmito Podmínkami použití a WebPodmínky použití webu na www.qualcomm.com nebo Zásady ochrany osobních údajů Qualcomm, na které se odkazuje www.qualcomm.com, budou tyto Podmínky použití řídit. V případě rozporu mezi těmito Podmínkami použití a jakoukoli jinou smlouvou (písemnou nebo proklikem) uzavřenou vámi a Qualcomm Technologies nebo přidruženou společností Qualcomm Technologies s ohledem na váš přístup k této dokumentaci a její používání, bude mít druhá smlouva kontrolu .
Tyto Podmínky použití se budou řídit, vykládat a vymáhat v souladu se zákony státu Kalifornie, s výjimkou Úmluvy OSN o mezinárodním prodeji zboží, bez ohledu na konflikt zákonů. Jakýkoli spor, nárok nebo kontroverze vyplývající z těchto Podmínek použití nebo související s těmito Podmínkami použití nebo porušení nebo platnosti těchto Podmínek bude posuzován pouze soudem příslušné jurisdikce v hrabství San Diego, stát Kalifornie, a Vy tímto souhlasíte s osobní příslušnost těchto soudů za tímto účelem. - Prohlášení o ochranné známce a produktu.
Qualcomm je ochranná známka nebo registrovaná ochranná známka společnosti Qualcomm Incorporated. Arm je registrovaná ochranná známka společnosti Arm Limited (nebo jejích dceřiných společností) v USA a/nebo jinde. Slovní známka Bluetooth® je registrovaná ochranná známka vlastněná společností Bluetooth SIG, Inc. Ostatní názvy produktů a značek uvedené v této dokumentaci mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků.
Produkty značky Snapdragon a Qualcomm uvedené v této dokumentaci jsou produkty společnosti Qualcomm Technologies, Inc. a/nebo jejích dceřiných společností. Patentované technologie Qualcomm jsou licencovány společností Qualcomm Incorporated.
Dokumenty / zdroje
![]() |
Software Qualcomm TensorFlow Lite SDK [pdfUživatelská příručka TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software |