Uporabniški priročnik za programsko opremo Qualcomm TensorFlow Lite SDK
Zgodovina revizij
Revizija | Datum | Opis |
AA | september 2023 | Začetna izdaja |
AB | oktober 2023 |
|
Uvod v orodja Qualcomm TFLite SDK
Orodja za razvoj programske opreme Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) zagotavljajo ogrodje TensorFlow Lite za sklepanje umetne inteligence (AI) na napravi, ki razvijalcem aplikacij olajša razvoj ali izvajanje ustreznih aplikacij AI.
Ta dokument ponuja navodila po korakih za prevajanje samostojnega Qualcomm TFLite SDK in nastavitev razvojnega okolja. To omogoča potek dela razvijalca, ki vključuje:
- nastavitev gradbenega okolja, kjer lahko razvijalec prevede Qualcomm TFLite SDK
- razvoj samostojnih aplikacij Qualcomm TFLite SDK
Za podporo glejte https://www.qualcomm.com/podpora. Naslednja slika prikazuje povzetek poteka dela Qualcomm TFLite SDK: ”
Slika 1-1 Potek dela Qualcomm TFLite SDK
Orodje zahteva SDK platforme in konfiguracijo file (oblika JSON) za ustvarjanje artefaktov Qualcomm TFLite SDK.
Če želite zgraditi aplikacijo od konca do konca z uporabo večpredstavnosti, umetne inteligence in podsistemov računalniškega vida (CV), glejte Vodnik za hiter začetek Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
Tabela prikazuje preslikavo različice Qualcomm TFLite SDK z izdajo CodeLinaro tag:
Tabela 1-1 Informacije o izdaji
Različica Qualcomm TFLite SDK | Izdaja CodeLinaro tag |
V1.0 | Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0 |
Tabela 1-2 Podprte različice SDK Qualcomm TFLite
Qualcomm Različica TFLite SDK | Podprt programski izdelek | Podprta različica TFLite |
V1.0 | QCS8550.LE.1.0 |
|
|
||
|
||
|
||
|
||
|
Reference
Tabela 1-3 Sorodni dokumenti
Naslov | številka |
Qualcomm | |
00067.1 Opomba ob izdaji za QCS8550.LE.1.0 | RNO-230830225415 |
Vodnik za hiter začetek Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-51 |
Referenca Qualcomm Intelligent Multimedia SDK (QIM SDK). | 80-50450-50 |
Viri | |
https://source.android.com/docs/setup/start/initializing | – |
Tabela 1-4 Kratice in definicije
Akronim ali izraz | Opredelitev |
AI | Umetna inteligenca |
BIOS | Osnovni vhodno/izhodni sistem |
CV | Računalniški vid |
IPK | Svoj paket file |
QIM SDK | Inteligentni komplet za razvoj multimedijske programske opreme Qualcomm |
SDK | Komplet za razvoj programske opreme |
TFLite | TensorFlow Lite |
XNN | Xth najbližji sosed |
Nastavite gradbeno okolje za orodja Qualcomm TFLite SDK
Orodja Qualcomm TFLite SDK so izdana v izvorni obliki; zato je vzpostavitev gradbenega okolja za njegovo prevajanje obvezna, vendar enkratna nastavitev.
Predpogoji
- Zagotovite, da imate sudoaccess do gostiteljskega računalnika Linux.
- Prepričajte se, da je gostiteljska različica Linuxa Ubuntu 18.04 ali Ubuntu 20.04.
- Povečajte največje število uporabniških ogledov in največje število uporabniških primerkov v gostiteljskem sistemu.
- Dodajte naslednje ukazne vrstice v /etc/sysctl.confand in znova zaženite gostitelja: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288
Namestite zahtevane gostiteljske pakete
Gostiteljski paketi so nameščeni na gostiteljski napravi Linux.
Zaženite ukaze za namestitev gostiteljskih paketov: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Za Ubuntu 18.04 in višje:
$ sudo apt-get namestitev 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 unzip fontconfig
Za več informacij glejte https://source.android.com/docs/setup/start/initializing.
Nastavite docker okolje
Docker je platforma, ki se uporablja za izdelavo, razvoj, testiranje in dostavo programske opreme. Če želite prevesti SDK, mora biti priklopna postaja konfigurirana na gostiteljskem računalniku Linux.
Prepričajte se, da je na gostiteljskem računalniku Linux omogočena virtualizacija procesorja. Če ni omogočen, naredite naslednje, da ga omogočite v konfiguracijskih nastavitvah osnovnega vhodno/izhodnega sistema (BIOS):
- Omogoči virtualizacijo iz BIOS-a:
a. Pritisnite F1 ali F2, ko se sistem zaganja, da vstopite v BIOS. Prikaže se okno BIOS-a.
b. Preklopite na zavihek Napredno.
c. V razdelku Konfiguracija procesorja nastavite tehnologijo virtualizacije na Omogočeno.
a. Pritisnite F12, da shranite in zaprete, nato pa znova zaženite sistem.
Če ti koraki ne delujejo, sledite posebnim navodilom ponudnika sistema, da omogočite virtualizacijo - Odstranite vse stare primerke dockerja:
$ sudo apt odstrani docker-desktop
$ rm -r $HOME/.docker/desktop
$ sudo rm /usr/local/bin/com.docker.cli
$ sudo apt očisti docker-desktop - Nastavite oddaljeni repozitorij dockerja:
$ sudo apt-get posodobitev $ sudo apt-get namestite ca-certifikate 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) signed-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilen” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null - Namestite docker motor:
$ sudo apt-get posodobitev $ sudo apt-get namestite docker-ce docker-ce-cli - Dodaj uporabnika v skupino dockerjev:
$ sudo groupadd docker $ sudo usermod -aG docker $USER - Ponovno zaženite sistem.
Ustvari SDK platforme
SDK platforme je obvezna zahteva za prevajanje orodij Qualcomm TFLite SDK. Zagotavlja vse zahtevane odvisnosti od platforme, ki jih zahteva Qualcomm TFLite SDK.
Za ustvarjanje SDK platforme naredite naslednje:
- Ustvarite gradnjo za želeni programski izdelek.
Navodila za gradnjo izdaje QCS8550.LE.1.0 so na voljo v opombah k izdaji. Za dostop do opomb ob izdaji glejte Reference.
Če so bile slike že zgrajene, izvedite 2. korak in nato ustvarite čisto gradnjo. - Za izgradnjo slik uporabniškega prostora in SDK platforme zaženite naslednji ukaz:
Za QCS8550.LE.1.0 dodajte funkcijo stroja qti-tflite-delegate v MACHINE_FEATURES v kalama.conf file in pridobite gradbeno okolje v skladu z navodili iz opomb ob izdaji.
Po generiranju slik uporabniškega prostora iz zgradbe zaženite naslednji ukaz za generiranje SDK platforme.
$ bitbake -fc populate_sdk qti-robotics-image
Zgradite orodja Qualcomm TFLite SDK – potek dela za razvijalce
Delovni tok orodij Qualcomm TFLite SDK zahteva, da razvijalec zagotovi konfiguracijo file z veljavnimi vnosi. Skripti pomožne lupine iz projekta tflite-tools (prisotni v izvornem drevesu Qualcomm TFLite SDK) zagotavljajo funkcije pomožnih orodij za nastavitev okolja lupine, ki se lahko uporablja za potek dela Qualcomm TFLite SDK.
Razvijalec gradi projekte Qualcomm TFLite SDK znotraj vsebnika in generira artefakte z uporabo pripomočkov, ki jih ponujajo orodja tflite.
Ko je vsebnik Qualcomm TFLite SDK zgrajen, se lahko razvijalec priključi na vsebnik in uporablja pripomočke za pomoč v okolju lupine vsebnika za neprekinjen razvoj.
- Obstaja določba za namestitev artefaktov Qualcomm TFLite SDK v napravo Qualcomm, povezano z gostiteljem Linux prek USB/adb.
- Obstaja tudi določba za kopiranje artefaktov Qualcomm TFLite SDK iz vsebnika na drug gostiteljski stroj, kjer je naprava Qualcomm povezana.
Naslednja slika navaja nabor pripomočkov, ki so na voljo po nastavitvi okolja za gradnjo vsebnika z uporabo pomožnih skriptov za gradnjo Qualcomm TFLite SDK.
Slika prikazuje zaporedje izvajanja pripomočkov:
Slika 4-3 Zaporedje pripomočkov na gostitelju
Sinhronizirajte in zgradite Qualcomm TFLite SDK
SDK Qualcomm TFLite se prevede, ko je ustvarjena slika dockerja. Če želite sinhronizirati in zgraditi Qualcomm TFLite SDK, naredite naslednje:
- Ustvarite imenik na gostitelju file sistem za sinhronizacijo delovnega prostora Qualcomm TFLite SDK. Za
example: $mkdir $cd - Pridobite izvorno kodo Qualcomm TFLite SDK iz 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 - Ustvarite imenik na gostitelju file sistem, ki ga je mogoče namestiti v priklopno postajo. Na primerample: mkdir-p / Ta imenik je mogoče ustvariti kjer koli na gostiteljskem računalniku Linux in ni odvisen od tega, kje je sinhroniziran projekt Qualcomm TFLite SDK. Ko je delovni tok v vsebniku končan, je artefakte Qualcomm TFLite SDK mogoče najti v imeniku, ustvarjenem v tem koraku.
- Uredite konfiguracijo JSON file prisoten v /tflite-tools/ targets/le-tflite-tools-builder.json z naslednjimi vnosi:
“Slika”: “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”: “” }
Za več informacij o vnosih, omenjenih v konfiguraciji json file, glejte datoteko readme Docker.md file na /tflite-tools/.
OPOMBA Za QCS8550 delegat Qualcomm® Hexagon™ DSP ni podprt. - Pridobite skript za nastavitev okolja:
$ cd /tflite-tools $ izvor ./scripts/host/docker_env_setup.sh - Zgradite sliko priklopne postaje Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Če nastavitev gradnje ne uspe, glejte Odpravljanje težav pri nastavitvi priklopne postaje. Po uspešnem zaključku se prikaže naslednje sporočilo: "Status: Gradnja slike je uspešno zaključena!!" Z zagonom tega koraka zgradite tudi Qualcomm TFLite SDK.
- Zaženite vsebnik priklopne postaje Qualcomm TFLite SDK. To zažene vsebnik z tags na voljo v konfiguraciji JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
- Pritrdite na posodo, ki ste jo začeli v prejšnjem koraku.
$ priklop dockerja
SDK Qualcomm TFLite je sestavljen in artefakti so pripravljeni za uvajanje ali pa jih je mogoče nadaljevati
ki se uporablja za ustvarjanje vtičnika QIM SDK TFLite.
Povežite napravo z gostiteljem in uvedite artefakte]
Po prevajanju obstajata dva mehanizma za povezavo naprave z gostiteljem in uvajanje
Artefakti Qualcomm TFLite SDK.
- Naprava, povezana z lokalnim gostiteljem Linux:
Razvijalec poveže napravo z delovno postajo in namesti artefakte Qualcomm TFLite SDK iz vsebnika neposredno v napravo (QCS8550). - Naprava, povezana z oddaljenim gostiteljem:
Razvijalec poveže napravo z oddaljeno delovno postajo in lahko uporabi ukaze namestitvenega programa upravitelja paketov na platformah Windows in Linux za namestitev artefaktov Qualcomm TFLite SDK v napravo (QCS8550)
Slika 4-4 Povezava plošče naprave z razvijalcem in oddaljeno delovno postajo
Povežite napravo z delovno postajo
Naprava je povezana z delovno postajo in razvojni vsebnik lahko dostopa do naprave prek USB/adb.
Slika prikazuje stages v zaporedju poteka dela Qualcomm TFLite SDK:
- Zaženite naslednje ukaze za namestitev artefaktov v napravo:
$ tflite-tools-device-prepare
$ tflite-tools-device-deploy - Če želite odstraniti artefakte, zaženite naslednji ukaz:
$ tflite-tools-device-packages-remove
Povežite napravo z oddaljenim strojem
Naprava je povezana z oddaljenim računalnikom in vsebnik Qualcomm TFLite SDK ne more dostopati do naprave prek USB/ad b.
Slika prikazuje stages v zaporedju poteka dela Qualcomm TFLite SDK:
Zaženite naslednje ukaze v vsebniku tflite-tools, da kopirate artefakte na oddaljeni stroj
odvisno od upravitelja paketov v napravi:
$ tflite-tools-remote-sync-ipk-rel-pkg
OPOMBA Informacije o oddaljenem računalniku so na voljo v konfiguraciji JSON file.
Namestite artefakte za platformo Windows
Artefakte Qualcomm TFLite SDK je mogoče namestiti v napravo na podlagi operacijskega sistema oddaljenega računalnika.
Za platformo Windows naredite naslednje:
V lupini PowerShell uporabite ta skript: 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 Če je paket ipk (za QCS8550.LE.1.0), uporabite naslednje ukaze: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Namestite artefakte za platformo Linux
Uporabite naslednje ukaze:
$ 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 If paket je ipk (za QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Počisti sliko dockerja
Po končanem poteku dela razvijalca je treba okolje priklopne postaje očistiti, da se sprosti prostor za shranjevanje na disku. Čiščenje priklopne postaje odstrani neuporabljene vsebnike in slike ter tako sprosti prostor na disku.
Za čiščenje slike priklopne postaje uporabite naslednje ukaze:
- Zaženite naslednji ukaz na delovni postaji Linux:
$ cd /tflite-tools - Zaustavite posodo:
$ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json - Odstranite posodo:
$ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json - Odstranite starejše slike dockerja:
$ tflite-tools-host-images-cleanup
Odpravite težave z nastavitvijo priklopne postaje
Če ukaz tflite-tools-host-build-image vrne sporočilo Nospace left on device, nato premaknite imenik docker v /local/mnt. Naredite naslednje, da odpravite težave z nastavitvijo:
- Varnostno kopirajte obstoječo priklopno postajo files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(datum + %s).tar.gz - Ustavi priklopno postajo:
$ storitev docker stop - Preverite, da se ne izvaja noben proces dockerja:
$ ps faux | grep docker - Preverite strukturo imenika dockerja:
$ sudo ls /var/lib/docker/ - Premaknite imenik docker na novo particijo:
$ mv /var/lib/docker /local/mnt/docker - Ustvarite simbolno povezavo do imenika docker v novi particiji:
$ ln -s /local/mnt/docker /var/lib/docker - Prepričajte se, da struktura imenika docker ostane nespremenjena:
$ sudo ls /var/lib/docker/ - Zaženi doker:
$ storitev docker start - Znova zaženite vse vsebnike, potem ko premaknete priklopni imenik.
Ustvari TFLite SDK z delovno postajo Linux
Potek dela TFLite SDK je mogoče omogočiti brez vsebnikov z uporabo delovne postaje Linux. Ta postopek je alternativa uporabi posod.
Če želite sinhronizirati in zgraditi Qualcomm TFLite SDK, naredite naslednje:
- Ustvarite imenik na gostitelju file sistem za sinhronizacijo delovnega prostora Qualcomm TFLite SDK. Na primerample:
$mkdir
$cd - Pridobite izvorno kodo Qualcomm TFLite SDK iz 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 sync -qc –no-tags -j8 - 3. Uredite konfiguracijo JSON file prisoten v /tflite-tools/ targets/le-tflite-tools-builder.json z naslednjimi vnosi
“Slika”: “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”: “”
Za več informacij o vnosih, omenjenih v konfiguraciji json file, glejte datoteko readme Docker.md file pri /tflite-tools/.
OPOMBA Za QCS8550 pooblaščenec Hexagon DSP ni podprt - Pridobite skript za nastavitev okolja:
$ cd /tflite-tools
$ izvor ./scripts/host/host_env_setup.sh - Zgradite Qualcomm TFLite SDK.
$ tflite-tools-setup targets/le-tflite-tools-builder.json - Zaženite naslednje ukaze pripomočka v isti lupini Linuxa, da zberete artefakte TFLite SDK iz
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 - Namestite artefakte glede na operacijski sistem
- Za platformo Windows v lupini PowerShell uporabite naslednji skript
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:> lupina adb “mkdir -p /tmp” PS C:> adb push /tmp
Če je paket ipk (za QCS8550.LE.1.0), uporabite naslednje ukaze:
PS C:> lupina adb “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
Za platformo Linux uporabite naslednji skript:
$ 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 Če je paket ipk (za QCS8550.LE.1.0):
$ adb shell "opkg –force-depends –force-reinstall –force-overwrite install /tmp/"
- Za platformo Windows v lupini PowerShell uporabite naslednji skript
Ustvarite artefakte Qualcomm TFLite SDK za gradnjo QIM SDK
Če želite uporabiti ustvarjene artefakte za omogočanje vtičnika Qualcomm TFLite SDK GStreamer v QIM SDK, naredite naslednje:
- Dokončajte postopek v Sync in zgradite Qualcomm TFLite SDK, nato pa zaženite naslednji ukaz: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
katran file se ustvari. Vsebuje Qualcomm TFLite SDK na poti, navedeni na “TFLite_rsync_destination” - Če želite omogočiti vtičnik Qualcomm TFLite SDK GStreamer, uporabite tar file kot argument v konfiguraciji JSON file za gradnjo QIM SDK.
Za informacije o prevajanju QIM SDK glejte Qualcomm Intelligent Multimedia SDK (QIM SDK) Vodnik za hiter začetek (80-50450-51).
Gradite SDK Qualcomm TFLite postopoma
Če prvič gradite Qualcomm TFLite SDK, glejte Izdelava orodij Qualcomm TFLite SDK – potek dela za razvijalce. Isto gradbeno okolje je mogoče ponovno uporabiti za postopen razvoj.
Pomožni pripomočki (znotraj vsebnika), omenjeni na sliki, so na voljo razvijalcem za prevajanje spremenjenih aplikacij in vtičnikov.
Slika 5-1 Potek dela v vsebniku
Ko so spremembe kode dokončane v imeniku kod, naredite naslednje:
- Prevedi spremenjeno kodo:
$ tflite-tools-incremental-build-install - Koda, sestavljena iz paketa:
$ tflite-tools-ipk-rel-pkg ali $ tflite-tools-deb-rel-pkg - Sinhronizirajte izdajne pakete z gostiteljem file sistem:
$ tflite-tools-remote-sync-ipk-rel-pkg
Or
$ tflite-tools-remote-sync-deb-rel-pkg - Pripravite paket za razvijalce:
$ tflite-tools-ipk-dev-pkg
Prevedene artefakte najdete v mapi TFLite_rsync_destination, omenjeni v JSON file, ki jih je mogoče kopirati v kateri koli imenik.
Delajte z QNN zunanjim TFLite delegatom
Zunanji pooblaščenec TFLite vam omogoča zagon vaših modelov (delov ali celot) na drugem izvajalcu z uporabo knjižnic, ki jih zagotavlja zaupanja vredna tretja oseba, kot je QNN podjetja Qualcomm. Ta mehanizem lahko za sklepanje izkoristi različne pospeševalnike v napravi, kot je GPE ali Hexagon Tensor Processor (HTP). To razvijalcem omogoča prilagodljivo in ločeno metodo od privzetega TFLite za pospešitev sklepanja.
Predpogoji:
- Prepričajte se, da uporabljate delovno postajo Ubuntu za ekstrahiranje sklada QNN AI.
- Zagotovite, da uporabljate QNN različice 2.14 v povezavi s Qualcomm TFLite SDK
Qualcomm TFLite SDK je omogočen za izvajanje sklepov na več zaledjih QNN prek zunanjega pooblaščenca TFLite za QNN. Modele TFLite s skupno predstavitvijo ravno medpomnilnika je mogoče izvajati na GPU in HTP.
Ko so paketi Qualcomm TFLite SDK nameščeni v napravi, naredite naslednje, da namestite knjižnice QNN v napravo.
- Prenesite Qualcomm Package Manager 3 za Ubuntu.
a. Kliknite https://qpm.qualcomm.com/ in kliknite Orodja.
b. V levem podoknu v polje Orodja za iskanje vnesite QPM. Na seznamu System OS izberite Linux.
Rezultati iskanja prikažejo seznam upraviteljev paketov Qualcomm.
c. Izberite Qualcomm Package Manager 3 in prenesite paket Linux debian. - Namestite Qualcomm Package Manager 3 za Linux. Uporabite naslednji ukaz:
$ dpkg -i –force-overwrite /path/to/
QualcommPackageManager3.3.0.83.1.Linux-x86.deb - Prenesite Qualcomm®
AI Engine Direct SDK na delovni postaji Ubuntu.
a. Kliknite https://qpm.qualcomm.com/ in kliknite Orodja.
b. V levem podoknu v polje Orodja za iskanje vnesite AI stack. Na seznamu System OS izberite Linux.
A Prikaže se spustni seznam, ki vsebuje različne mehanizme sklada AI.
c. Kliknite Qualcomm® AI Engine Direct SDK in prenesite paket Linux v2.14.0. - Namestite Qualcomm® AI Engine Direct SDK na delovno postajo Ubuntu.
a. Aktivirajte licenco:
qpm-cli –activacija licence qualcomm_ai_engine_direct
b Namestite AI Engine Direct SDK:
$ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik - Potisnite knjižnice v napravo z delovne postaje Ubuntu z 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. torej /usr/lib/rfsa/adsp
Preizkusite Qualcomm TFLite SDK
Qualcomm TFLite SDK zagotavlja nekatere nprampdatoteke, ki jih je mogoče uporabiti za potrditev, primerjavo in pridobitev natančnosti modelov, ki jih razvijalec želi oceniti.
Ko so paketi Qualcomm TFLite SDK nameščeni v napravi, je v napravi na voljo izvajalno okolje za izvajanje tehample aplikacije.
Predpogoj
V napravi ustvarite naslednje imenike:
$ adb shell “mkdir /data/Models”
$ adb shell “mkdir /data/Lables”
$ adb shell “mkdir /data/profiling”
Slika oznake
Slika nalepke je pripomoček, ki ga ponuja Qualcomm TFLite SDK, ki prikazuje, kako lahko naložite vnaprej usposobljen in pretvorjen model TensorFlow Lite in ga uporabite za prepoznavanje predmetov na slikah. Predpogoji:
Prenos sample model in slika:
Uporabite lahko kateri koli združljiv model, vendar naslednji model MobileNet v1 ponuja dobro predstavitev modela, usposobljenega za prepoznavanje 1000 različnih predmetov.
- Pridobite 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/ - Pridobite oznake
$ 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/
Ko se povežete s priklopnim vsebnikom Qualcomm TFLite SDK, lahko sliko najdete na:
“/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
a. Potisni to file do/podatki/Oznake/
b. Izvedite ukaz:
$ 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
SDK Qualcomm TFLite ponuja orodje za primerjalno analizo za izračun zmogljivosti različnih časov izvajanja.
Ta primerjalna orodja trenutno merijo in izračunavajo statistiko za naslednje pomembne meritve uspešnosti:
- Čas inicializacije
- Čas sklepanja stanja ogrevanja
- Čas sklepanja v stabilnem stanju
- Poraba pomnilnika v času inicializacije
- Skupna poraba pomnilnika
Predpogoji
Potisnite modele za testiranje iz TFLite Model Zoo (https://tfhub.dev/) v/data/Models/. Zaženite naslednje skripte:
- Paket 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=/podatki/profiliranje/” - GPU delegat
$ 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=/podatki/profiliranje/” - Zunanji pooblaščenec
Zunanji delegat GPE QNN:
Izvedite sklepanje z modelom s plavajočo vejico:
$ 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'”
Zunanji pooblaščenec QNN HTP:
Izvedite sklepanje s kvantnim modelom:
$ 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'”
Orodje za natančnost
SDK Qualcomm TFLite ponuja orodje za natančnost za izračun natančnosti modelov z različnimi časi izvajanja.
- Klasifikacija z GPE delegatom
Koraki za prenos potrebnih files za testiranje najdete na: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
Binarna datoteka za izvajanje tega orodja je že del SDK-ja, zato je razvijalcu ni treba znova graditi.
$ 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” - Zaznavanje predmetov s paketom XNN
$ adb shell “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac
PRAVNE INFORMACIJE
Vaš dostop in uporaba tega dokumenta, skupaj z morebitnimi specifikacijami, referenčno tablo files, risbe, diagnostika in druge informacije, ki jih vsebuje (skupaj to “Dokumentacija”), je predmet vašega (vključno z družbo ali drugo pravno osebo, ki jo zastopate, skupaj "Vi" ali "Vaš") sprejemanje pogojev ("Pogoji uporabe") naveden spodaj. Če se ne strinjate s temi pogoji uporabe, ne smete uporabljati te dokumentacije in takoj uničite vse njene kopije.
- Pravno obvestilo.
Ta dokumentacija vam je na voljo izključno za vašo interno uporabo s tistimi izdelki in ponudbo storitev družbe Qualcomm Technologies, Inc. (»Qualcomm Technologies«) in njenih podružnic, opisanih v tej dokumentaciji, in se ne sme uporabljati za nobene druge namene. Te dokumentacije ni dovoljeno spreminjati, urejati ali kakor koli spreminjati brez predhodne pisne odobritve Qualcomm Technologies. Nepooblaščena uporaba ali razkritje tega
Dokumentacija ali informacije, vsebovane tukaj, so strogo prepovedane in soglašate, da boste Qualcomm Technologies, njenim podružnicam in dajalcem licenc povrnili škodo ali izgubo, ki jo utrpijo Qualcomm Technologies, njene podružnice in dajalci licenc zaradi kakršne koli takšne nepooblaščene uporabe ali razkritja te dokumentacije, v celoti ali del. Qualcomm Technologies, njegove podružnice in dajalci licenc obdržijo vse pravice in lastništvo v tej dokumentaciji. Nobena licenca za nobeno blagovno znamko, patent, avtorsko pravico, pravico do zaščite dela z masko ali katero koli drugo pravico intelektualne lastnine ni podeljena ali implicirana s to dokumentacijo ali kakršnimi koli informacijami, ki so v njej razkrite, vključno z, vendar ne omejeno na, katero koli licenco za izdelavo, uporabo, uvoz ali prodajati kateri koli izdelek, storitev ali ponudbo tehnologije, ki vsebuje katero koli informacijo v tej dokumentaciji.
TA DOKUMENTACIJA JE NA VOLJO »TAKŠNA, JE« BREZ KAKRŠNEGA KOLI JAMSTVA, BODISI JE IZRECNEGA, POSREDNEGA, ZAKONSKO PREDPISANEGA ALI DRUGAČEGA. DO NAJVEČJEGA OBSEGA, KI GA DOVOLJUJE ZAKON, QUALCOMM TECHNOLOGIES, NJENE PODRUŽNICE IN DAJALCI LICENC IZREČNO ZAVRAČAJO VSA JAMSTVA GLEDE LASTNIŠTVA, PRIMERNOSTI ZA PRODAJO, NEKRŠITVE, PRIMERNOSTI ZA DOLOČEN NAMEN, ZADOVOLJIVE KAKOVOSTI, POPOLNOSTI ALI TOČNOSTI IN VSEH JAMSTEV, KI IZHAJAJO IZ TRGOVSKE UPORABE ALI IZVEN POTEKA POSLOVANJA ALI IZVEDBE. POLEG TEGA NITI QUALCOMM TECHNOLOGIES NITI KAKRŠNA KOLI OD NJENIH PODRUŽNIKOV ALI DAJALCA LICENCE NE BODO ODGOVORNI VAM ALI TRETJIM OSEBAM ZA KAKRŠNE KOLI STROŠKE, IZGUBE, UPORABO ALI DEJANJA, NE glede na to, KI JIH NASTANEJO ALI KI JIH IZVEDITE NA TEJ DOKUMENTACIJI .
Nekateri kompleti izdelkov, orodja in materiali, navedeni v tej dokumentaciji, lahko od vas zahtevajo, da sprejmete dodatne pogoje in določila, preden dostopate do teh predmetov ali jih uporabljate.
Za tehnične podatke, navedene v tej dokumentaciji, lahko veljajo zakoni ZDA in drugi veljavni zakoni o nadzoru izvoza. Prenos v nasprotju z zakonodajo ZDA in katero koli drugo veljavno zakonodajo je strogo prepovedan.
Nič v tej dokumentaciji ni ponudba za prodajo katere koli komponente ali naprave, navedene v njej.
Ta dokumentacija se lahko spremeni brez nadaljnjega obvestila. V primeru nasprotja med temi pogoji uporabe in WebPogoji uporabe spletnega mesta na www.qualcomm.com ali pravilnik o zasebnosti Qualcomm, na katerega se sklicujete www.qualcomm.com, imajo prednost ti pogoji uporabe. V primeru navzkrižja med temi pogoji uporabe in katero koli drugo pogodbo (pisno ali s klikom), ki ste jo sklenili vi in Qualcomm Technologies ali podružnica Qualcomm Technologies v zvezi z vašim dostopom do te dokumentacije in njeno uporabo, bo druga pogodba prevladovala .
Te pogoje uporabe urejajo, razlagajo in uveljavljajo v skladu z zakoni zvezne države Kalifornije, razen Konvencije ZN o mednarodni prodaji blaga, ne glede na načela kolizije zakonov. Vse spore, zahtevke ali spore, ki izhajajo iz teh pogojev uporabe ali so povezani z njimi, ali kršitev ali veljavnost le-teh, bo presojalo samo pristojno sodišče v okrožju San Diego, zvezna država Kalifornija, in s tem soglašate, da osebna pristojnost takih sodišč za ta namen. - Izjave o pripisu blagovne znamke in izdelka.
Qualcomm je blagovna znamka ali registrirana blagovna znamka družbe Qualcomm Incorporated. Arm je registrirana blagovna znamka Arm Limited (ali njenih podružnic) v ZDA in/ali drugje. Besedna znamka Bluetooth® je registrirana blagovna znamka v lasti Bluetooth SIG, Inc. Druga imena izdelkov in blagovnih znamk, navedena v tej dokumentaciji, so lahko blagovne znamke ali registrirane blagovne znamke njihovih lastnikov.
Izdelki blagovne znamke Snapdragon in Qualcomm, navedeni v tej dokumentaciji, so izdelki podjetja Qualcomm Technologies, Inc. in/ali njegovih podružnic. Patentirane tehnologije Qualcomm licencira Qualcomm Incorporated.
Dokumenti / Viri
![]() |
Programska oprema Qualcomm TensorFlow Lite SDK [pdf] Uporabniški priročnik Programska oprema TensorFlow Lite SDK, programska oprema Lite SDK, programska oprema SDK, programska oprema |