Qualcomm TensorFlow Lite SDK tarkvara kasutusjuhend
Ettevõtte logo

Läbivaatamise ajalugu

Läbivaatamine Kuupäev Kirjeldus
AA september 2023 Esialgne vabastamine
AB oktoober 2023

Sissejuhatus Qualcommi TFLite SDK tööriistadesse

Qualcomm TensorFlow Lite'i tarkvaraarenduskomplekti (Qualcomm TFLite SDK) tööriistad pakuvad TensorFlow Lite'i raamistikku seadmesisese tehisintellekti (AI) järelduste tegemiseks, mis hõlbustab rakenduste arendajatel sobivate tehisintellekti rakenduste väljatöötamist või käitamist.
See dokument sisaldab üksikasjalikke juhiseid iseseisva Qualcomm TFLite SDK koostamiseks ja arenduskeskkonna seadistamiseks. See võimaldab arendaja töövoogu, mis hõlmab järgmist:

  • ehituskeskkonna seadistamine, kus arendaja saab kompileerida Qualcomm TFLite SDK
  • eraldiseisvate Qualcomm TFLite SDK rakenduste arendamine

Toe saamiseks vaadake https://www.qualcomm.com/toetus. Järgmisel joonisel on Qualcomm TFLite SDK töövoo kokkuvõte:
Joonis 1-1 Qualcomm TFLite SDK töövoog
Tööriist nõuab platvormi SDK-d ja konfiguratsiooni file (JSON-vormingus), et genereerida Qualcomm TFLite SDK artefakte.

Multimeediumi, tehisintellekti ja arvutinägemise (CV) alamsüsteemide abil täieliku rakenduse koostamiseks vaadake Qualcomm Intelligent Multimedia SDK (QIM SDK) kiirjuhendit (80-50450-51).
Tabel näitab Qualcomm TFLite SDK versiooni vastendamist CodeLinaro väljalaskega tag:
Tabel 1-1 Väljalaskmisteave
Ühendus

Qualcomm TFLite SDK versioon CodeLinaro väljalase tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tabel 1-2 Toetatud Qualcomm TFLite SDK versioonid

Qualcomm TFLite SDK versioon Toetatud tarkvaratoode Toetatud TFLite versioon
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Viited
Tabel 1-3 Seotud dokumendid

Pealkiri Number
Qualcomm
00067.1 Väljalaskemärkus QCS8550.LE.1.0 jaoks RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) kiirjuhend 80-50450-51
Qualcomm Intelligent Multimedia SDK (QIM SDK) viide 80-50450-50
Vahendid
https://source.android.com/docs/setup/start/initializing

Tabel 1-4 Akronüümid ja määratlused

Akronüüm või termin Definitsioon
AI Tehisintellekt
BIOS Põhiline sisend/väljundsüsteem
CV Arvutinägemine
IPK Omapärane pakett file
QIM SDK Qualcomm Intelligentne multimeediumitarkvara arenduskomplekt
SDK Tarkvaraarenduskomplekt
TFLite TensorFlow Lite
XNN Xth lähim naaber

Seadistage Qualcomm TFLite SDK tööriistade ehituskeskkond

Qualcomm TFLite SDK tööriistad on välja antud lähtevormingus; seetõttu on ehituskeskkonna loomine selle koostamiseks kohustuslik, kuid ühekordne seadistus.

Eeldused

  • Veenduge, et teil oleks Linuxi hostmasinale sudojuurdepääs.
  • Veenduge, et Linuxi hostiversioon on Ubuntu 18.04 või Ubuntu 20.04.
  • Suurendage hostsüsteemi kasutajate maksimaalset jälgimissagedust ja maksimaalset kasutajate arvu.
  • Lisage failile/etc/sysctl.confand järgmised käsuread ja taaskäivitage host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Installige vajalikud hostipaketid

Hostipaketid installitakse Linuxi hostiseadmesse.
Käivitage hostipakettide installimiseks käsud: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Ubuntu 18.04 ja uuemate versioonide jaoks:
$ 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 un libxml2-utils xsltconfc
Lisateabe saamiseks vaadake https://source.android.com/docs/setup/start/initializing.

Seadistage dokkimiskeskkond

Docker on platvorm, mida kasutatakse tarkvara koostamiseks, arendamiseks, testimiseks ja tarnimiseks. SDK kompileerimiseks peab dokkija olema Linuxi hostmasinas konfigureeritud.
Veenduge, et protsessori virtualiseerimine oleks Linuxi hostmasinas lubatud. Kui see pole lubatud, tehke selle lubamiseks põhiliste sisend-/väljundsüsteemi (BIOS) konfiguratsiooniseadete kaudu järgmist.

  1. Virtualiseerimise lubamine BIOS-ist:
    a. BIOS-i sisenemiseks vajutage süsteemi käivitumise ajal klahvi F1 või F2. Kuvatakse BIOS-i aken.
    b. Lülituge vahekaardile Täpsemalt.
    c. Jaotises CPU konfiguratsioon määrake Virtualiseerimistehnoloogia väärtuseks Lubatud.
    a. Salvestamiseks ja väljumiseks vajutage F12 ning seejärel taaskäivitage süsteem.
    Kui need sammud ei tööta, järgige virtualiseerimise lubamiseks süsteemipakkuja konkreetseid juhiseid
  2. Eemaldage kõik doki vanad eksemplarid:
    $ sudo apt eemalda docker-desktop
    $ rm -r $HOME/.doccker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Seadistage dokkeri kaughoidla:
    $ sudo apt-get update $ sudo apt-get install ca-sertifikaadid 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) stabiilne” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Paigaldage dokkimismootor:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Kasutaja lisamine dokkimisgruppi:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Taaskäivitage süsteem.

Looge platvormi SDK

Platvormi SDK on Qualcomm TFLite SDK tööriistade kompileerimise kohustuslik nõue. See pakub kõiki vajalikke platvormi sõltuvusi, mida Qualcomm TFLite SDK nõuab.
Platvormi SDK loomiseks tehke järgmist.

  1. Looge eelistatud tarkvaratoote jaoks järg.
    Väljalaske QCS8550.LE.1.0 koostamise juhised on toodud väljalaske märkustes. Väljalaskemärkmetele juurdepääsu saamiseks vaadake jaotist Viited.
    Kui pildid on varem koostatud, käivitage samm 2 ja looge seejärel puhas järk.
  2. Käivitage järgmine käsk, et luua kasutajaruumi kujutised ja platvormi SDK:
    QCS8550.LE.1.0 jaoks lisage faili kalama.conf faili MACHINE_FEATURES masin funktsioon qti-tflite-delegate file ja hankige ehituskeskkond vastavalt väljalaskemärkmete juhistele.
    Pärast kasutajaruumi kujutiste genereerimist järgust käivitage platvormi SDK loomiseks järgmine käsk.
    $ bitbake -fc populate_sdk qti-robotics-image

Ehitage Qualcomm TFLite SDK tööriistad – arendaja töövoog

Qualcomm TFLite SDK tööriistade töövoog nõuab, et arendaja esitaks konfiguratsiooni file kehtivate sisendkirjetega. Projekti tflite-tools abishelli skriptid (mis on olemas Qualcomm TFLite SDK lähtepuus) pakuvad abiutiliidi funktsioone kestakeskkonna seadistamiseks, mida saab kasutada Qualcomm TFLite SDK töövoo jaoks.
Arendaja koostab konteineris Qualcomm TFLite SDK projektid ja genereerib artefaktid, kasutades tflite-toolsi pakutavaid utiliite.
Pärast Qualcomm TFLite SDK konteineri ehitamist saab arendaja konteineri külge kinnitada ja kasutada pidevaks arendamiseks konteineri kesta keskkonnas abiutiliite.

  • Qualcomm TFLite SDK artefaktide installimine on ette nähtud Qualcommi seadmesse, mis on USB/adb kaudu ühendatud Linuxi hostiga.
  • Samuti on ette nähtud Qualcomm TFLite SDK artefaktide kopeerimine konteinerist teise hostmasinasse, kuhu Qualcommi seade on ühendatud.
    Ühendus

Järgmisel joonisel on loetletud utiliidid, mis on saadaval pärast konteineri ehituskeskkonna seadistamist, kasutades abiskripte Qualcomm TFLite SDK loomiseks.
Ühendus

Joonisel on näidatud utiliitide täitmise järjekord:
Joonis 4-3 Hosti utiliitide järjestus
Ühendus

Sünkroonige ja looge Qualcomm TFLite SDK
Qualcomm TFLite SDK kompileeritakse dokkeri kujutise loomisel. Qualcomm TFLite SDK sünkroonimiseks ja koostamiseks tehke järgmist.

  1. Looge hostis kataloog file süsteem Qualcomm TFLite SDK tööruumi sünkroonimiseks. Sest
    example: $mkdir $ cd
  2. Hankige CodeLinarost Qualcomm TFLite SDK lähtekood:
    $ 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 väljalase && repo sünkroonimine -qc –no-tags -j
  3. Looge hostis kataloog file süsteem, mida saab monteerida dockerisse. Näiteksample: mkdir-p / Selle kataloogi saab luua kõikjal Linuxi hostmasinas ja see ei sõltu sellest, kus Qualcomm TFLite SDK projekt sünkroonitakse. Kui töövoog on konteineris lõpule viidud, leiate Qualcomm TFLite SDK artefaktid selles etapis loodud kataloogist.
  4. Muutke JSON-i konfiguratsiooni file esinevad failis /tflite-tools/ targets/le-tflite-tools-builder.json koos järgmiste kirjetega:
    "Pilt": "tflite-tools-builder", "Device_OS": "le", "Additional_tag": "", "TFLite_Version": "2.11.1", "Delegaadid": { "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": "" }
    Lisateavet jsoni konfiguratsioonis mainitud kirjete kohta file, vaadake faili Docker.md readme file aadressil /tflite-tools/.
    MÄRKUS QCS8550 puhul ei toetata Qualcomm® Hexagon™ DSP delegaati.
  5. Keskkonna seadistamiseks hankige skript:
    $ cd /tflite-tools $ allikas ./scripts/host/docker_env_setup.sh
  6.  Qualcommi TFLite SDK dokkeri kujutise koostamine: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Kui järgu seadistamine ebaõnnestub, vaadake jaotist Dockeri seadistamise tõrkeotsing. Pärast edukat lõpetamist kuvatakse järgmine teade: "Olek: Ehitise kujutis on edukalt lõpule viidud!!" Selle sammu käivitamine loob ka Qualcomm TFLite SDK.
  7.  Käivitage Qualcomm TFLite SDK dokkimiskonteiner. See käivitab konteineri tähega tags pakutakse JSON-i konfiguratsioonis file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Konteineri külge kinnitamine algas eelmisest etapist.
    $ dokkeri kinnitus

Qualcomm TFLite SDK on koostatud ja artefaktid on juurutamiseks valmis või edasiseks kasutamiseks
kasutatakse QIM SDK TFLite pistikprogrammi loomiseks.

Ühendage seade hostiga ja juurutage artefakte]

Pärast kompileerimist on seadme ühendamiseks hostiga ja juurutamiseks kaks mehhanismi
Qualcomm TFLite SDK artefaktid.

  • Kohaliku Linuxi hostiga ühendatud seade:
    Arendaja ühendab seadme tööjaamaga ja installib Qualcomm TFLite SDK artefaktid konteinerist otse seadmesse (QCS8550).
  • Kaughostiga ühendatud seade:
    Arendaja ühendab seadme kaugtööjaamaga ja nad saavad kasutada paketihalduri installikäske Windowsi ja Linuxi platvormidel Qualcomm TFLite SDK artefaktide seadmesse installimiseks (QCS8550)

Joonis 4-4 Seadmeplaadi ühendamine arendaja ja kaugtööjaamaga
Ühendus

Ühendage seade tööjaamaga

Seade on ühendatud tööjaamaga ja arenduskonteiner pääseb seadmele ligi USB/adb kaudu.
Joonisel on kujutatud stages Qualcomm TFLite SDK töövoo järjestuses:
Ühendus

  1. Artefaktide seadmesse installimiseks käivitage järgmised käsud:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. Artefaktide desinstallimiseks käivitage järgmine käsk:
    $ tflite-tools-device-packages-remove

Ühendage seade kaugmasinaga

Seade on ühendatud kaugmasinaga ja Qualcomm TFLite SDK konteiner ei pääse seadmele juurde USB/reklaami kaudu b.
Joonisel on kujutatud stages Qualcomm TFLite SDK töövoo järjestuses:
Ühendus

Artefaktide kaugmasinasse kopeerimiseks käivitage konteineris tflite-tools järgmised käsud
sõltuvalt seadme paketihaldurist:
$ tflite-tools-remote-sync-ipk-rel-pkg
MÄRKUS Kaugmasina teave on esitatud JSON-i konfiguratsioonis file.
Installige Windowsi platvormi artefaktid
Qualcomm TFLite SDK artefakte saab seadmesse installida kaugmasina operatsioonisüsteemi alusel.

Windowsi platvormi puhul tehke järgmist.
Kasutage PowerShellis järgmist skripti: PS C:
> adb root PS C:> adb disable-verity PS C:> adb taaskäivitus PS C:> adb oota-seadet PS C:> adb juur PS C:> adb remount PS C:> adb shell mount -o remount, rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb push /tmp Kui pakett on ipk (QCS8550.LE.1.0 jaoks), kasutage järgmisi käske: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Installige artefaktid Linuxi platvormi jaoks
Kasutage järgmisi käske:
$ adb juur $ adb disable-verity $ adb taaskäivitamine $ adb oota-seadet $ adb juur $ adb uuesti ühendamine $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Kui pakett on ipk (QCS8550.LE.1.0 jaoks): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Dockeri kujutise puhastamine
Pärast arendaja töövoo lõpetamist tuleks dokkimiskeskkond puhastada, et vabastada kettale salvestusruum. Dokkeri puhastamine eemaldab kasutamata konteinerid ja pildid, vabastades seega kettaruumi.
Dockeri kujutise puhastamiseks kasutage järgmisi käske:

  1. Käivitage Linuxi tööjaamas järgmine käsk:
    $ cd /tflite-tööriistad
  2. Peatage konteiner:
    $ tflite-tools-host-stop-container ./targets/le-tflite-tools-builder.json
  3. Eemaldage konteiner:
    $ tflite-tools-host-rm-container ./targets/le-tflite-tools-builder.json
  4. Eemaldage vanemad dokkeri pildid:
    $ tflite-tools-host-images-cleanup

Dockeri seadistamise tõrkeotsing

Kui käsk tflite-tools-host-build-image tagastab teate seadmesse jäetud tühikuta, siis teisaldage dockeri kataloog asukohta/local/mnt. Seadistuse tõrkeotsinguks tehke järgmist.

  1. Varundage olemasolev dokk files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(kuupäev + %s).tar.gz
  2. Peatage dokk:
    $ teenindusdoki peatus
  3. Veenduge, et ükski dokkimisprotsess ei tööta:
    $ ps faux | grep docker
  4. Kontrollige dockeri kataloogi struktuuri:
    $ sudo ls /var/lib/docker/
  5. Dockeri kataloogi teisaldamine uude partitsiooni:
    $ mv /var/lib/docker /local/mnt/docker
  6. Looge uues partitsioonis dockeri kataloogi sümlink:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Veenduge, et dockeri kataloogi struktuur ei muutuks:
    $ sudo ls /var/lib/docker/
  8. Käivitage dokk:
    $ Service Dockeri käivitamine
  9. Taaskäivitage kõik konteinerid pärast dokkimiskataloogi teisaldamist.

Looge Linuxi tööjaamaga TFLite SDK

TFLite SDK töövoogu saab lubada ilma konteineriteta, kasutades Linuxi tööjaama. See protseduur on alternatiiv konteinerite kasutamisele.
Qualcomm TFLite SDK sünkroonimiseks ja koostamiseks tehke järgmist.

  1. Looge hostis kataloog file süsteem Qualcomm TFLite SDK tööruumi sünkroonimiseks. Näiteksample:
    $mkdir
    $ cd
  2. Hankige CodeLinarost Qualcomm TFLite SDK lähtekood:
    $ 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 väljalase && repo sünkroonimine -qc –no-tags -j8 && repo sünkroonimine -qc -ei-tags -j8
  3. 3. Muutke JSON-i konfiguratsiooni file kohal /tflite-tools/ targets/le-tflite-tools-builder.json järgmiste kirjetega
    "Pilt": "tflite-tools-builder", "Device_OS": "le", "Additional_tag": "", "TFLite_Version": "2.11.1", "Delegaadid": { "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": ""
    Lisateavet jsoni konfiguratsioonis mainitud kirjete kohta file, vaadake faili Docker.md readme file juures /tflite-tools/.
    MÄRKUS QCS8550 puhul ei toetata Hexagon DSP delegaati
  4. Keskkonna seadistamiseks hankige skript:
    $ cd /tflite-tööriistad
    $ allikas ./scripts/host/host_env_setup.sh
  5. Ehitage Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Käivitage järgmised utiliidi käsud samas Linuxi kestas, et koguda TFLite SDK artefaktid 
    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
  7. Installige artefaktid operatsioonisüsteemi alusel
    • Windowsi platvormi jaoks kasutage PowerShellis järgmist skripti
      PS C:> adb juur PS C:> adb disable-verity PS C:> adb taaskäivitus PS C:> adb ooteseade PS C:> adb juur PS C:> adb remount PS C:> adb shell mount - o remount,rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb push /tmp
      Kui pakett on ipk (QCS8550.LE.1.0 jaoks), kasutage järgmisi käske:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Linuxi platvormi jaoks kasutage järgmist skripti:
      $ adb juur $ adb disable-verity $ adb taaskäivitamine $ adb oota-seadet $ adb juur $ adb uuesti ühendamine $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Kui pakett on ipk (QCS8550.LE.1.0 jaoks):
      $ adb shell “opkg – sunnib-sõltub –force-reinstall – sunni-ülekirjuta install /tmp/”

Looge QIM SDK ehitamiseks Qualcomm TFLite SDK artefakte

Qualcomm TFLite SDK GStreameri pistikprogrammi QIM SDK lubamiseks loodud artefaktide kasutamiseks tehke järgmist.

  1. Viige Qualcomm TFLite SDK sünkroonimise ja ehitamise protseduur lõpule ning seejärel käivitage järgmine käsk: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Tõrva file genereeritakse. See sisaldab Qualcomm TFLite SDK-d aadressil pakutud teel "TFLite_rsync_destination"
  2. Qualcomm TFLite SDK GStreameri pistikprogrammi lubamiseks kasutage tar file argumendina JSON-i konfiguratsioonis file QIM SDK järgu jaoks.
    Lisateavet QIM SDK koostamise kohta leiate Qualcomm Intelligent Multimedia SDK (QIM SDK) kiirjuhendist (80-50450-51).

Ehitage Qualcomm TFLite SDK järk-järgult

Kui loote Qualcomm TFLite SDK esimest korda, vaadake jaotist Qualcomm TFLite SDK tööriistade loomine – arendaja töövoog. Sama ehituskeskkonda saab järkjärguliseks arendamiseks uuesti kasutada.
Joonisel mainitud abiutiliidid (konteineris) on arendajatele saadaval muudetud rakenduste ja pistikprogrammide koostamiseks.
Joonis 5-1 Töövoog konteineris

Ühendus

Pärast koodi muutmise lõpetamist koodikataloogis tehke järgmist.

  1. Kompileeri muudetud kood:
    $ tflite-tools-incremental-build-install
  2. Paketi koostatud kood:
    $ tflite-tools-ipk-rel-pkg või $ tflite-tools-deb-rel-pkg
  3. Sünkroonige väljalaskepaketid hostiga file süsteem:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Valmistage ette arenduspakett:
    $ tflite-tools-ipk-dev-pkg
    Kompileeritud artefaktid leiate JSON-is mainitud kaustast TFLite_rsync_destination file, mille saab kopeerida mis tahes kataloogi.

Töötage QNN välise TFLite delegaadiga

TFLite'i väline delegaat võimaldab teil oma mudeleid (osaliselt või tervikuna) käitada teisel täitjal, kasutades usaldusväärse kolmanda osapoole, nagu Qualcommi QNN, pakutavaid teeke. See mehhanism võib järelduste tegemiseks kasutada mitmesuguseid seadmes olevaid kiirendeid, nagu GPU või Hexagon Tensor Processor (HTP). See annab arendajatele paindliku ja vaike-TFLite'ist lahti seotud meetodi, et kiirendada järeldusi.

Eeltingimused:

  • Veenduge, et kasutate QNN AI-virna ekstraktimiseks Ubuntu tööjaama.
  • Veenduge, et kasutate QNN-i versiooni 2.14, et olla koos Qualcomm TFLite SDK-ga

Qualcomm TFLite SDK on lubatud käivitada järeldusi mitmes QNN-i taustaprogrammis TFLite'i välise QNN-i delegaadi kaudu. Ühise lamepuhvri esitusega TFLite'i mudeleid saab kasutada GPU-l ja HTP-l.
Kui Qualcomm TFLite SDK paketid on seadmesse installitud, tehke QNN-i teekide seadmesse installimiseks järgmist.

  1. Laadige alla Qualcomm Package Manager 3 Ubuntu jaoks.
    a. Klõpsake https://qpm.qualcomm.com/ ja klõpsake nuppu Tööriistad.
    b. Tippige vasakpoolse paani väljale Otsingutööriistad QPM. Süsteemi OS-i loendist valige Linux.
    Otsingutulemustes kuvatakse Qualcommi paketihaldurite loend.
    c. Valige Qualcomm Package Manager 3 ja laadige alla Linuxi debiani pakett.
  2. Installige Qualcomm Package Manager 3 Linuxile. Kasutage järgmist käsku:
    $ dpkg -i – sunniviisiline ülekirjutamine /tee/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Laadige alla Qualcomm®
    AI Engine Direct SDK Ubuntu tööjaamas.
    a. Klõpsake https://qpm.qualcomm.com/ ja klõpsake nuppu Tööriistad.
    b. Tippige vasakpoolsel paanil otsingutööriistade väljale AI virn. Süsteemi OS-i loendist valige Linux.
    A Kuvatakse ripploend, mis sisaldab erinevaid tehisintellekti virna mootoreid.
    c. Klõpsake valikul Qualcomm® AI Engine Direct SDK ja laadige alla Linuxi v2.14.0 pakett.
  4. Installige Ubuntu tööjaama Qualcomm® AI Engine Direct SDK.
    a. Aktiveerige litsents:
    qpm-cli –litsentsi aktiveerimine qualcomm_ai_engine_direct
    b Installige AI Engine Direct SDK:
    $ qpm-cli – väljavõte /tee/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Lükake teegid seadmesse Ubuntu tööjaamast adb push abil.
    $ 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-ed/68/hexagon-v libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-ed/v73pV/Qunnsign-S/V73pXNUMX seega /usr/lib/rfsa/adsp

Testige Qualcomm TFLite SDK-d

Qualcomm TFLite SDK pakub teatud ntample rakendused, mida saab kasutada nende mudelite valideerimiseks, võrdlusuuringuteks ja täpsuse saamiseks, mida arendaja soovib hinnata.
Kui Qualcomm TFLite SDK paketid on seadmesse installitud, on seadmes nende käitamiseks saadaval käitusaeg.ample rakendusi.
Eeltingimus
Looge seadmes järgmised kataloogid:
$ adb kest “mkdir / data/Models”
$ adb kest “mkdir /data/Lables”
$ adb kest “mkdir /data/profiling”

Sildi pilt

Sildi kujutis on Qualcomm TFLite SDK pakutav utiliit, mis näitab, kuidas saate laadida eelkoolitatud ja teisendatud TensorFlow Lite mudelit ning kasutada seda piltidel olevate objektide tuvastamiseks. Eeltingimused:
Laadige alla sampmudel ja pilt:
Võite kasutada mis tahes ühilduvat mudelit, kuid järgmine MobileNet v1 mudel pakub head näidet mudelist, mis on koolitatud ära tundma 1000 erinevat objekti.

  • Hangi mudel
    $ 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/
  • Hankige sildid
    $ 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/
    Pärast Qualcomm TFLite SDK dokkimiskonteineriga ühenduse loomist leiate pildi aadressilt:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
    a. Lükake seda file to/data/Labels/
    b. Käivitage käsk:
    $ adb kest "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"

Võrdlusnäitaja

Qualcomm TFLite SDK pakub võrdlusuuringu tööriista erinevate tööaegade jõudluse arvutamiseks.
Need võrdlustööriistad mõõdavad ja arvutavad praegu järgmiste oluliste toimivusmõõdikute statistikat.

  • Initsialiseerimise aeg
  • Soojenemisseisundi järeldusaeg
  • Püsiseisundi järeldusaeg
  • Mälu kasutamine lähtestamise ajal
  • Üldine mälukasutus

Eeldused

Lükake testitavad mudelid TFLite Model Zoo'st (https://tfhub.dev/) to/data/Models/. Käivitage järgmised skriptid:  

  • XNN pakett
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_sec=300 –profiling_output_csv_file=/data/profiling/”
  • GPU delegaat
    $ 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/”
  • Väline delegaat
    QNN väline delegeeritud GPU:
    Käivitage järeldus ujukomamudeliga:
    $ adb shell-käsk “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQn_/Gpulirrifusr;sd_: /adsp""
    QNN välisdelegaadi HTP:
    Käivitage järeldus kvantmudeliga:
    $ adb shell-käsk “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnn/sdlirrs/libQnnHtlirrs/ /adsp""

Täpsuse tööriist

Qualcomm TFLite SDK pakub täpsustööriista erinevate tööaegadega mudelite täpsuse arvutamiseks.

  • Klassifikatsioon GPU delegaadiga
    Vajaliku allalaadimise sammud filetestitavad failid leiate aadressilt: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/imagenet_image_classificatio/README.md"
    Selle tööriista käitamiseks mõeldud binaarfail on juba SDK osa, seega ei pea arendaja seda uuesti koostama.
    $ adb kest “image_classify_run_eval — model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu”
  • Objektide tuvastamine XNN-paketiga
    $ adb kest “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac

ÕIGUSTEAVE

Teie juurdepääs sellele dokumendile ja selle kasutamine koos kõigi spetsifikatsioonide ja viitetahvliga files, joonised, diagnostika ja muu siin sisalduv teave (koos see "Dokumentatsioon"), allub teie (sealhulgas teie esindatavale ettevõttele või muule juriidilisele isikule kollektiivselt "Sina" või "Teie" tingimustega nõustumine (“Kasutustingimused”) allpool välja toodud. Kui te nende kasutustingimustega ei nõustu, ei tohi te seda dokumentatsiooni kasutada ja hävitate viivitamatult kõik selle koopiad.

  1. Õiguslik teade.
    See dokumentatsioon tehakse teile kättesaadavaks ainult teie ettevõttesiseseks kasutamiseks koos ettevõtte Qualcomm Technologies, Inc. („Qualcomm Technologies“) ja selles dokumentatsioonis kirjeldatud sidusettevõtete toodete ja teenustega ning seda ei tohi kasutada ühelgi muul eesmärgil. Seda dokumentatsiooni ei tohi mingil viisil muuta, redigeerida ega muuta ilma Qualcomm Technologiesi eelneva kirjaliku nõusolekuta. Selle volitamata kasutamine või avalikustamine
    Siin sisalduv dokumentatsioon või teave on rangelt keelatud ja te nõustute hüvitama Qualcomm Technologiesile, selle sidusettevõtetele ja litsentsiandjatele kõik kahjud või kaotused, mida Qualcomm Technologies, selle sidusettevõtted ja litsentsiandjad on kandnud selle dokumentatsiooni sellise volitamata kasutamise või avalikustamise eest. osa. Qualcomm Technologies, selle sidusettevõtted ja litsentsiandjad säilitavad kõik õigused ja omandiõiguse selles dokumentatsioonis. See dokumentatsioon või mis tahes siin avaldatud teave ei anna ega viita litsentsi ühelegi kaubamärgile, patendile, autoriõigusele, maskitöö kaitseõigusele ega muule intellektuaalomandi õigusele, sealhulgas, kuid mitte ainult, mis tahes litsents teha, kasutada, importida või importida. müüa mis tahes toodet, teenust või tehnoloogiat, mis sisaldab selles dokumentatsioonis sisalduvat teavet.
    KÄESOLEVA DOKUMENTAATSIOONI ESITAKSE „NAGU ON” ILMA MINGI SELGITUD, KAUDSE, KOHUSTUSLIKU VÕI MUUL GARANTIITA. QUALCOMM TECHNOLOGIES, SIDUSÜHENDID JA LITSENTSIANDJAD LAHTIvad TÄIELIKULT SEADUSEGA LUBATUD MÄÄRAS KÕIKIDEST GARANTIIDEST, KÕIKIDEST KAUBANDUSLIKUD, MITTERIKKUVUSED, OSALISEADUSLIKKUSED URACY JA KÕIK GARANTIID, MIS TULENEVAD KAUBANDUSE KASUTAMIST VÕI VÄLJAS KAUPLEMISE VÕI TOOTMISJUHTI. Veelgi enam, ei Qualcomm Technologies ega ükski tema sidusettevõte ega litsentsiandjad ei vastuta teie ega ühegi kolmanda osapoole ees kulude, kahjude, kasutamise või toimingute eest, mis on teie poolt tekkinud või võetud selle dokumendiga tuginedes.
    Teatud tootekomplektid, tööriistad ja materjalid, millele selles dokumentatsioonis viidatakse, võivad nõuda, et te nõustuksite lisatingimustega enne nendele üksustele juurdepääsu või nende kasutamist.
    Selles dokumentatsioonis täpsustatud tehnilistele andmetele võivad kehtida USA ja muud kohaldatavad ekspordikontrolli seadused. USA ja muude kehtivate seadustega vastuolus olev edastamine on rangelt keelatud.
    Mitte miski selles dokumentatsioonis ei ole pakkumine siin viidatud komponentide või seadmete müümiseks.
    Seda dokumentatsiooni võidakse muuta ilma edasise teatamiseta. Vastuolu korral käesolevate kasutustingimuste ja Websaidi kasutustingimused on www.qualcomm.com või Qualcommi privaatsuspoliitika, millele viidatakse www.qualcomm.com, kontrollivad need kasutustingimused. Kui käesolevate kasutustingimuste ja mis tahes muu teie ja Qualcomm Technologiesi või Qualcomm Technologiesi sidusettevõtte vahel sõlmitud lepingu (kirjaliku või klikitava) vahel tekib vastuolu seoses teie juurdepääsuga käesolevale dokumentatsioonile ja selle kasutamisega, reguleerib teine ​​leping. .
    Neid kasutustingimusi reguleerivad ning tõlgendatakse ja jõustatakse California osariigi seaduste kohaselt, välja arvatud ÜRO rahvusvahelise kaupade müügi konventsioon, arvestamata seaduste konflikti põhimõtteid. Kõiki vaidlusi, nõudeid või vaidlusi, mis tulenevad või on seotud nende kasutustingimustega või nende rikkumise või kehtivusega, lahendab ainult California osariigi San Diego maakonna pädeva jurisdiktsiooni kohus ja te nõustute käesolevaga selliste kohtute isiklik jurisdiktsioon sel eesmärgil.
  2. Kaubamärgi ja toote omistamise avaldused.
    Qualcomm on ettevõtte Qualcomm Incorporated kaubamärk või registreeritud kaubamärk. Arm on ettevõtte Arm Limited (või selle tütarettevõtete) registreeritud kaubamärk USA-s ja/või mujal. Sõnamärk Bluetooth® on registreeritud kaubamärk, mis kuulub ettevõttele Bluetooth SIG, Inc. Teised käesolevas dokumentatsioonis viidatud toote- ja kaubamärginimed võivad olla nende vastavate omanike kaubamärgid või registreeritud kaubamärgid.
    Selles dokumentatsioonis viidatud Snapdragoni ja Qualcommi kaubamärgiga tooted on ettevõtte Qualcomm Technologies, Inc. ja/või selle tütarettevõtete tooted. Qualcommi patenteeritud tehnoloogiad on litsentsinud Qualcomm Incorporated.

Ettevõtte logo

Dokumendid / Ressursid

Qualcomm TensorFlow Lite SDK tarkvara [pdfKasutusjuhend
TensorFlow Lite SDK tarkvara, Lite SDK tarkvara, SDK tarkvara, tarkvara

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *