
Qualcomm TensorFlow Lite SDK -ohjelmiston käyttöopas

Versiohistoria
| Tarkistus | Päivämäärä | Kuvaus |
| AA | Syyskuu 2023 | Alkuperäinen julkaisu |
| AB | lokakuuta 2023 |
|
Johdatus Qualcomm TFLite SDK -työkaluihin
Qualcomm TensorFlow Lite -ohjelmistokehityssarjan (Qualcomm TFLite SDK) työkalut tarjoavat TensorFlow Lite -kehyksen laitteiden tekoälyn (AI) päättelyyn, mikä helpottaa sovelluskehittäjien kehittää tai käyttää sopivia tekoälysovelluksia.
Tämä asiakirja sisältää vaiheittaiset ohjeet itsenäisen Qualcomm TFLite SDK:n kääntämiseen ja kehitysympäristön määrittämiseen. Tämä mahdollistaa kehittäjien työnkulun, joka sisältää:
- rakennusympäristön määrittäminen, jossa kehittäjä voi kääntää Qualcomm TFLite SDK:n
- kehittää itsenäisiä Qualcomm TFLite SDK -sovelluksia
Katso tuki: https://www.qualcomm.com/tukea. Seuraavassa kuvassa on yhteenveto Qualcomm TFLite SDK -työnkulusta:
Kuva 1-1 Qualcomm TFLite SDK -työnkulku
Työkalu vaatii alustan SDK:n ja määrityksen file (JSON-muoto) luodaksesi Qualcomm TFLite SDK -artefaktit.
Katso Qualcomm Intelligent Multimedia SDK (QIM SDK) -pika-aloitusopas (80-50450-51), jos haluat rakentaa päästä päähän -sovelluksen käyttämällä multimedia-, tekoäly- ja tietokonenäön (CV) -alijärjestelmiä.
Taulukossa näkyy Qualcomm TFLite SDK -version kartoitus CodeLinaro-julkaisulla tag:
Taulukko 1-1 Julkaisutiedot

| Qualcomm TFLite SDK -versio | CodeLinaron julkaisu tag |
| V1.0 | Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0 |
Taulukko 1-2 Tuetut Qualcomm TFLite SDK -versiot
| Qualcomm TFLite SDK -versio | Tuettu ohjelmistotuote | Tuettu TFLite-versio |
| V1.0 | QCS8550.LE.1.0 |
|
|
||
|
||
|
||
|
||
|
Viitteet
Taulukko 1-3 Aiheeseen liittyvät asiakirjat
| Otsikko | Määrä |
| Qualcomm | |
| 00067.1 Julkaisutiedote mallille QCS8550.LE.1.0 | RNO-230830225415 |
| Qualcomm Intelligent Multimedia SDK (QIM SDK) -pikaopas | 80-50450-51 |
| Qualcomm Intelligent Multimedia SDK (QIM SDK) -viite | 80-50450-50 |
| Resurssit | |
| https://source.android.com/docs/setup/start/initializing | – |
Taulukko 1-4 Lyhenteet ja määritelmät
| Lyhenne tai termi | Määritelmä |
| AI | Tekoäly |
| BIOS | Perustulo/lähtöjärjestelmä |
| CV | Tietokonenäkö |
| IPK | Oma paketti file |
| QIM SDK | Qualcomm Intelligent -multimediaohjelmistokehityssarja |
| SDK | Ohjelmistojen kehityspaketti |
| TFLite | TensorFlow Lite |
| XNN | Xth lähin naapuri |
Määritä rakennusympäristö Qualcomm TFLite SDK -työkaluille
Qualcomm TFLite SDK -työkalut julkaistaan lähdemuodossa; siksi rakennusympäristön luominen sen kääntämistä varten on pakollinen, mutta kertaluonteinen asennus.
Edellytykset
- Varmista, että sinulla on sudo-käyttöoikeus Linux-isäntäkoneeseen.
- Varmista, että Linux-isäntäversio on Ubuntu 18.04 tai Ubuntu 20.04.
- Lisää isäntäjärjestelmän käyttäjien katselukertojen enimmäismäärää ja käyttäjäesiintymien enimmäismäärää.
- Lisää seuraavat komentorivit tiedostoon/etc/sysctl.confand käynnistä isäntä uudelleen: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288
Asenna tarvittavat isäntäpaketit
Isäntäpaketit asennetaan Linux-isäntäkoneeseen.
Suorita komennot asentaaksesi isäntäpaketit: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Ubuntu 18.04 ja uudemmat:
$ sudo apt-get asenna 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 xsltconfig unzip font
Lisätietoja on osoitteessa https://source.android.com/docs/setup/start/initializing.
Määritä telakointiympäristö
Docker on alusta, jota käytetään ohjelmistojen rakentamiseen, kehittämiseen, testaamiseen ja toimittamiseen. SDK:n kääntäminen edellyttää, että telakointiasema on määritetty Linux-isäntäkoneessa.
Varmista, että suorittimen virtualisointi on käytössä Linux-isäntäkoneessa. Jos se ei ole käytössä, ota se käyttöön seuraavasti BIOSin perusasetusten kautta:
- Ota virtualisointi käyttöön BIOSista:
a. Paina F1 tai F2 järjestelmän käynnistyessä siirtyäksesi BIOSiin. BIOS-ikkuna tulee näkyviin.
b. Vaihda Lisäasetukset-välilehteen.
c. Aseta Suorittimen kokoonpano -osiossa Virtualization Technology -asetukseksi Enabled.
a. Paina F12 tallentaaksesi ja poistuaksesi ja käynnistä sitten järjestelmä uudelleen.
Jos nämä vaiheet eivät auta, ota virtualisointi käyttöön noudattamalla järjestelmän toimittajan ohjeita - Poista kaikki vanhat telakointiasemat:
$ sudo apt poista docker-desktop
$ rm -r $HOME/.doccker/desktop
$ sudo rm /usr/local/bin/com.docker.cli
$ sudo apt purge docker-desktop - Asenna Dockerin etävarasto:
$ sudo apt-get päivitys $ sudo apt-get asenna ca-sertifikaatit 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) vakaa” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Asenna telakointimoottori:
$ sudo apt-get update $ sudo apt-get asenna docker-ce docker-ce-cli - Lisää käyttäjä telakointiryhmään:
$ sudo groupadd docker $ sudo usermod -aG docker $USER - Käynnistä järjestelmä uudelleen.
Luo alustan SDK
Alustan SDK on pakollinen vaatimus Qualcomm TFLite SDK -työkalujen kääntämisessä. Se tarjoaa kaikki Qualcomm TFLite SDK:n vaatimat alustariippuvuudet.
Luo alustan SDK seuraavasti:
- Luo koontiversio halutulle ohjelmistotuotteelle.
Ohjeet QCS8550.LE.1.0-julkaisun rakentamiseen ovat julkaisutiedoissa. Katso julkaisutiedot kohdasta Viitteet.
Jos kuvat on rakennettu aiemmin, suorita vaihe 2 ja luo sitten puhdas koontiversio. - Suorita seuraava komento luodaksesi käyttäjätilan kuvat ja alustan SDK:
Lisää QCS8550.LE.1.0:lle koneominaisuus qti-tflite-delegate kohtaan MACHINE_FEATURES tiedostossa kalama.conf. file ja hanki rakennusympäristö julkaisutietojen ohjeiden mukaisesti.
Kun olet luonut käyttäjätilan kuvat koontiversiosta, suorita seuraava komento luodaksesi alustan SDK.
$ bitbake -fc populate_sdk qti-robotics-image
Rakenna Qualcomm TFLite SDK -työkalut – kehittäjien työnkulku
Qualcomm TFLite SDK -työkalujen työnkulku edellyttää, että kehittäjä toimittaa asetukset file kelvollisilla syötteillä. Tflite-tools-projektin apuohjelmakomentosarjat (esillä Qualcomm TFLite SDK:n lähdepuussa) tarjoavat apuohjelmia komentotulkkiympäristön määrittämiseen, joita voidaan käyttää Qualcomm TFLite SDK -työnkulussa.
Kehittäjä rakentaa Qualcomm TFLite SDK -projektit säilössä ja luo artefaktit tflite-toolsin tarjoamien apuohjelmien avulla.
Kun Qualcomm TFLite SDK -säilö on rakennettu, kehittäjä voi liittyä säiliöön ja käyttää apuohjelmia säiliön kuoriympäristössä jatkuvaan kehittämiseen.
- Qualcomm TFLite SDK -artefaktit voidaan asentaa Qualcomm-laitteeseen, joka on liitetty Linux-isäntään USB/adb:n kautta.
- On myös määräys kopioida Qualcomm TFLite SDK -artefaktit säilöstä toiseen isäntäkoneeseen, johon Qualcomm-laite on kytketty.

Seuraavassa kuvassa on luettelo apuohjelmista, jotka ovat käytettävissä sen jälkeen, kun säilön rakennusympäristö on määritetty käyttämällä apuohjelmia Qualcomm TFLite SDK:n rakentamiseen.

Kuvassa näkyy apuohjelmien suoritusjärjestys:
Kuva 4-3 Isäntäkoneen apuohjelmien järjestys

Synkronoi ja luo Qualcomm TFLite SDK
Qualcomm TFLite SDK käännetään, kun telakointikuva luodaan. Voit synkronoida ja rakentaa Qualcomm TFLite SDK:n seuraavasti:
- Luo hakemisto isäntään file järjestelmä Qualcomm TFLite SDK -työtilan synkronoimiseksi. varten
exampseuraavat: $mkdir $cd - Hae Qualcomm TFLite SDK -lähdekoodi CodeLinarosta:
$ 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 –ei-tags -j - Luo hakemisto isäntään file järjestelmä, joka voidaan asentaa dockeriin. esimample: mkdir-p / Tämä hakemisto voidaan luoda missä tahansa Linux-isäntäkoneessa, eikä se riipu siitä, missä Qualcomm TFLite SDK -projekti synkronoidaan. Kun työnkulku on valmis säilön sisällä, Qualcomm TFLite SDK -artefaktit löytyvät tässä vaiheessa luodusta hakemistosta.
- Muokkaa JSON-kokoonpanoa file esiintyy tiedostossa /tflite-tools/ targets/le-tflite-tools-builder.json seuraavilla merkinnöillä:
"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": "", "Base_Dir_Location": "" }
Lisätietoja json-kokoonpanossa mainituista merkinnöistä file, katso Docker.md readme file osoitteessa /tflite-tools/.
HUOM QCS8550:ssä Qualcomm® Hexagon™ DSP:n edustajaa ei tueta. - Lähde skripti ympäristön määrittämiseksi:
$ cd /tflite-tools $ lähde ./scripts/host/docker_env_setup.sh - Luo Qualcomm TFLite SDK -telakointiasemakuva: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Jos koontiversion asennus epäonnistuu, katso Docker-asennuksen vianmääritys. Onnistuneen valmistumisen jälkeen näyttöön tulee seuraava viesti: "Tila: Rakennuskuva valmis!!" Tämän vaiheen suorittaminen rakentaa myös Qualcomm TFLite SDK:n.
- Suorita Qualcomm TFLite SDK -telakointisäilö. Tämä aloittaa säiliön merkillä tags tarjotaan JSON-kokoonpanossa file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
- Kiinnitys säiliöön aloitettiin edellisestä vaiheesta.
$ docker liitä
Qualcomm TFLite SDK on käännetty, ja artefaktit ovat valmiita otettavaksi käyttöön tai niitä voidaan jatkaa
käytetään QIM SDK TFLite -laajennuksen luomiseen.
Yhdistä laite isäntään ja ota artefakteja käyttöön]
Kääntämisen jälkeen on kaksi mekanismia, joilla laite voidaan yhdistää isäntään ja ottaa käyttöön
Qualcomm TFLite SDK -artefaktit.
- Paikalliseen Linux-isäntään yhdistetty laite:
Kehittäjä yhdistää laitteen työasemaan ja asentaa Qualcomm TFLite SDK -artefaktit säiliöstä suoraan laitteeseen (QCS8550). - Etäisäntään yhdistetty laite:
Kehittäjä yhdistää laitteen etätyöasemaan, ja hän voi käyttää paketinhallinnan asennuskomentoja Windows- ja Linux-alustoissa Qualcomm TFLite SDK -artefaktien asentamiseen laitteeseen (QCS8550)
Kuva 4-4 Laitekortin liittäminen kehittäjä- ja etätyöasemaan

Yhdistä laite työasemaan
Laite on kytketty työasemaan ja kehityskontti pääsee laitteeseen USB/adb:n kautta.
Kuvassa näkyy stages Qualcomm TFLite SDK -työnkulun järjestyksessä:

- Suorita seuraavat komennot asentaaksesi artefaktit laitteeseen:
$ tflite-tools-device-prepare
$ tflite-tools-device-deploy - Poista artefaktit suorittamalla seuraava komento:
$ tflite-tools-device-packages-remove
Yhdistä laite etäkoneeseen
Laite on kytketty etäkoneeseen, ja Qualcomm TFLite SDK -säilö ei voi käyttää laitetta USB:n/mainoksen kautta b.
Kuvassa näkyy stages Qualcomm TFLite SDK -työnkulun järjestyksessä:

Suorita seuraavat komennot tflite-tools-säiliössä kopioidaksesi artefaktit etäkoneeseen
riippuen laitteen paketinhallinnasta:
$ tflite-tools-remote-sync-ipk-rel-pkg
HUOM Etäkoneen tiedot ovat JSON-kokoonpanossa file.
Asenna artefaktit Windows-alustalle
Qualcomm TFLite SDK -artefaktit voidaan asentaa laitteeseen etäkoneen käyttöjärjestelmän perusteella.
Windows-alustalla toimi seuraavasti:
Käytä PowerShellissä seuraavaa komentosarjaa: PS C:
> adb root PS C:> adb disable-verity PS C:> adb reboot PS C:> adb odota laitetta 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 Jos paketti on ipk (QCS8550.LE.1.0), käytä seuraavia komentoja: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Asenna artefaktit Linux-alustalle
Käytä seuraavia komentoja:
$ adb root $ adb disable-verity $ adb reboot $ adb odota-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp If paketti on ipk (QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”
Puhdista Docker-kuva
Kun kehittäjän työnkulku on valmis, telakointiympäristö tulee puhdistaa levyn tallennustilan vapauttamiseksi. Telakointiaseman puhdistaminen poistaa käyttämättömät säiliöt ja kuvat ja vapauttaa näin levytilaa.
Puhdista Docker-kuva seuraavien komentojen avulla:
- Suorita seuraava komento Linux-työasemassa:
$ cd /tflite-työkalut - Pysäytä säiliö:
$ tflite-tools-host-stop-container ./targets/le-tflite-tools-builder.json - Poista säiliö:
$ tflite-tools-host-rm-container ./targets/le-tflite-tools-builder.json - Poista vanhemmat telakointikuvat:
$ tflite-tools-host-images-cleanup
Dockerin asennuksen vianmääritys
Jos tflite-tools-host-build-image-komento palauttaa Nospace left on device -viestin, siirrä Docker-hakemisto kohtaan/local/mnt. Tee asennuksen vianmääritys seuraavasti:
- Varmuuskopioi olemassa oleva telakointiasema files:
$ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(päivämäärä + %s).tar.gz - Pysäytä telakka:
$ Service Docker stop - Varmista, että mikään telakointiprosessi ei ole käynnissä:
$ ps faux | grep docker - Tarkista Docker-hakemistorakenne:
$ sudo ls /var/lib/docker/ - Siirrä Docker-hakemisto uuteen osioon:
$ mv /var/lib/docker /local/mnt/docker - Tee symbolilinkki Docker-hakemistoon uudessa osiossa:
$ ln -s /local/mnt/docker /var/lib/docker - Varmista, että Docker-hakemistorakenne pysyy muuttumattomana:
$ sudo ls /var/lib/docker/ - Käynnistä telakka:
$ Service Docker käynnistyy - Käynnistä kaikki säilöt uudelleen telakointihakemiston siirtämisen jälkeen.
Luo TFLite SDK Linux-työasemalla
TFLite SDK -työnkulku voidaan ottaa käyttöön ilman säilöjä Linux-työaseman avulla. Tämä menettely on vaihtoehto säiliöiden käytölle.
Voit synkronoida ja rakentaa Qualcomm TFLite SDK:n seuraavasti:
- Luo hakemisto isäntään file järjestelmä Qualcomm TFLite SDK -työtilan synkronoimiseksi. esimampseuraavat:
$mkdir
$cd - Hae Qualcomm TFLite SDK -lähdekoodi CodeLinarosta:
$ 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 –ei-tags -j8 && repo synkronointi -qc -ei-tags -j8 - 3. Muokkaa JSON-kokoonpanoa file läsnä /tflite-tools/ targets/le-tflite-tools-builder.json seuraavilla merkinnöillä
"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": "", "Base_Dir_Location": ""
Lisätietoja json-kokoonpanossa mainituista merkinnöistä file, katso Docker.md readme file klo /tflite-tools/.
HUOM QCS8550:ssä ei tueta Hexagon DSP:n edustajaa - Lähde skripti ympäristön määrittämiseksi:
$ cd /tflite-työkalut
$ lähde ./scripts/host/host_env_setup.sh - Rakenna Qualcomm TFLite SDK.
$ tflite-tools-setup targets/le-tflite-tools-builder.json - Suorita seuraavat apuohjelmakomennot samassa Linux-kuoressa kerätäksesi TFLite SDK -artefaktit
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 - Asenna artefaktit käyttöjärjestelmän perusteella
- Käytä Windows-alustalla PowerShellissä seuraavaa komentosarjaa
PS C:> adb root PS C:> adb disable-verity PS C:> adb uudelleenkäynnistys PS C:> adb odota laitetta PS C:> adb root PS C:> adb remount PS C:> adb shell mount - o liitä uudelleen,rw / PS C:> adb-kuori "mkdir -p /tmp" PS C:> adb push /tmp
Jos paketti on ipk (QCS8550.LE.1.0), käytä seuraavia komentoja:
PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
Käytä Linux-alustalle seuraavaa komentosarjaa:
$ adb root $ adb disable-verity $ adb reboot $ adb odota-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Jos paketti on ipk (QCS8550.LE.1.0):
$ adb komentotulkki "opkg – pakottaa-riippuu -force-reinstall -force-overwrite install /tmp/"
- Käytä Windows-alustalla PowerShellissä seuraavaa komentosarjaa
Luo Qualcomm TFLite SDK -artefaktteja QIM SDK -koontiversiota varten
Voit käyttää luotuja artefakteja Qualcomm TFLite SDK GStreamer -laajennuksen käyttöönottamiseksi QIM SDK:ssa seuraavasti:
- Suorita vaiheet kohdassa Synkronoi ja luo Qualcomm TFLite SDK ja suorita sitten seuraava komento: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
Terva file syntyy. Se sisältää Qualcomm TFLite SDK:n osoitteessa annetussa polussa "TFLite_rsync_destination" - Ota Qualcomm TFLite SDK GStreamer -laajennus käyttöön käyttämällä tara file argumenttina JSON-kokoonpanossa file QIM SDK -koontiversiota varten.
Lisätietoja QIM SDK:n kääntämisestä on Qualcomm Intelligent Multimedia SDK:n (QIM SDK) pika-aloitusoppaassa (80-50450-51).
Rakenna Qualcomm TFLite SDK asteittain
Jos olet rakentamassa Qualcomm TFLite SDK:ta ensimmäistä kertaa, katso Qualcomm TFLite SDK -työkalujen rakentaminen – kehittäjien työnkulku. Samaa rakennusympäristöä voidaan käyttää uudelleen inkrementaaliseen kehitykseen.
Kuvassa mainitut apuohjelmat (säilön sisällä) ovat kehittäjien käytettävissä muunnettujen sovellusten ja lisäosien kokoamiseen.
Kuva 5-1 Työnkulku säiliössä

Kun koodin muutokset on tehty koodihakemistossa, toimi seuraavasti:
- Kääntää muokattu koodi:
$ tflite-tools-incremental-build-install - Paketin koottu koodi:
$ tflite-tools-ipk-rel-pkg tai $ tflite-tools-deb-rel-pkg - Synkronoi julkaisupaketit isännän kanssa file järjestelmä:
$ tflite-tools-remote-sync-ipk-rel-pkg
Or
$ tflite-tools-remote-sync-deb-rel-pkg - Valmista kehityspaketti:
$ tflite-tools-ipk-dev-pkg
Käännetyt artefaktit löytyvät JSON-tiedostossa mainitusta TFLite_rsync_destination-kansiosta. file, joka voidaan kopioida mihin tahansa hakemistoon.
Työskentele QNN:n ulkoisen TFLite Delegen kanssa
Ulkoisen TFLite-valtuutetun avulla voit ajaa mallejasi (osia tai kokonaisia) toisella toteuttajalla käyttämällä luotetun kolmannen osapuolen, kuten Qualcommin QNN:n, tarjoamia kirjastoja. Tämä mekanismi voi hyödyntää erilaisia laitteessa olevia kiihdyttimiä, kuten GPU:ta tai Hexagon Tensor Processoria (HTP), johtopäätösten tekemiseen. Tämä tarjoaa kehittäjille joustavan ja irrotetun menetelmän oletus-TFLitesta päättelyn nopeuttamiseksi.
Edellytykset:
- Varmista, että käytät Ubuntu-työasemaa QNN AI -pinon purkamiseen.
- Varmista, että käytät QNN-versiota 2.14 Qualcomm TFLite SDK:n kanssa
Qualcomm TFLite SDK voi suorittaa päätelmiä useissa QNN-taustajärjestelmissä ulkoisen TFLite-valtuutetun QNN:n kautta. TFLite-malleja, joissa on yhteinen flatbuffer-esitys, voidaan käyttää GPU:lla ja HTP:llä.
Kun Qualcomm TFLite SDK -paketit on asennettu laitteeseen, asenna QNN-kirjastot laitteeseen seuraavasti.
- Lataa Qualcomm Package Manager 3 Ubuntulle.
a. Napsauta https://qpm.qualcomm.com/ ja napsauta Työkalut.
b. Kirjoita vasemman ruudun Hakutyökalut-kenttään QPM. Valitse Järjestelmän käyttöjärjestelmä -luettelosta Linux.
Hakutuloksissa näkyy luettelo Qualcomm Package Managerista.
c. Valitse Qualcomm Package Manager 3 ja lataa Linux-debian-paketti. - Asenna Qualcomm Package Manager 3 Linuxille. Käytä seuraavaa komentoa:
$ dpkg -i – pakottaa päälle /polku/to/
QualcommPackageManager3.3.0.83.1.Linux-x86.deb - Lataa Qualcomm®
AI Engine Direct SDK Ubuntu-työasemalla.
a. Napsauta https://qpm.qualcomm.com/ ja napsauta Työkalut.
b. Kirjoita vasemman ruudun Hakutyökalut-kenttään AI-pino. Valitse Järjestelmän käyttöjärjestelmä -luettelosta Linux.
A avattava luettelo, joka sisältää erilaisia AI-pinomoottoreita, tulee näkyviin.
c. Napsauta Qualcomm® AI Engine Direct SDK ja lataa Linux v2.14.0 -paketti. - Asenna Qualcomm® AI Engine Direct SDK Ubuntu-työasemaan.
a. Aktivoi lisenssi:
qpm-cli –lisenssi-aktivoi qualcomm_ai_engine_direct
b Asenna AI Engine Direct SDK:
$ qpm-cli –poimi /polku/to/qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik - Työnnä kirjastot laitteeseen Ubuntu-työasemalta adb push -toiminnolla.
$ 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-v/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-s/htlib. joten /usr/lib/rfsa/adsp
Testaa Qualcomm TFLite SDK
Qualcomm TFLite SDK tarjoaa tiettyjä esimample sovelluksia, joiden avulla voidaan validoida, vertailla ja saada niiden mallien tarkkuus, joita kehittäjä haluaa arvioida.
Kun Qualcomm TFLite SDK -paketit on asennettu laitteeseen, laitteessa on ajonaika näiden ex.ampsovelluksia.
Edellytys
Luo seuraavat hakemistot laitteeseen:
$ adb-kuori "mkdir /data/Models"
$ adb shell "mkdir /data/Lables"
$ adb-kuori "mkdir /data/profiling"
Etiketin kuva
Tarrakuva on Qualcomm TFLite SDK:n tarjoama apuohjelma, joka näyttää, kuinka voit ladata esikoulutetun ja muunnetun TensorFlow Lite -mallin ja käyttää sitä kuvien kohteiden tunnistamiseen. Edellytykset:
Lataa sampmalli ja kuva:
Voit käyttää mitä tahansa yhteensopivaa mallia, mutta seuraava MobileNet v1 -malli tarjoaa hyvän esittelyn mallista, joka on koulutettu tunnistamaan 1000 erilaista objektia.
- Hanki malli
$ 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/ - Hanki tarrat
$ 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/
Kun olet muodostanut yhteyden Qualcomm TFLite SDK -telakkasäiliöön, kuva löytyy osoitteesta:
"/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
a. Paina tätä file to/data/Labels/
b. Suorita komento:
$ adb komentotulkki "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"
Vertailuarvo
Qualcomm TFLite SDK tarjoaa benchmarking-työkalun eri ajoaikojen suorituskyvyn laskemiseen.
Nämä vertailutyökalut tällä hetkellä mittaavat ja laskevat tilastoja seuraaville tärkeille tehokkuusmittareille:
- Alustusaika
- Lämpenemistilan päättelyaika
- Vakaan tilan päättelyaika
- Muistin käyttö alustuksen aikana
- Kokonaismuistin käyttö
Edellytykset
Työnnä testattavat mallit TFLite Model Zoosta (https://tfhub.dev/) kohtaan/data/Models/. Suorita seuraavat skriptit:
- XNN-paketti
$ 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/profilointi/” - GPU:n edustaja
$ 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/profilointi/” - Ulkoinen edustaja
QNN ulkoinen delegoitu GPU:
Suorita päättely liukulukumallilla:
$ adb shell-komento “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQn_/Gpulirr/flibarys; /adsp"
QNN ulkoisen edustajan HTP:
Suorita päättely kvanttimallilla:
$ adb shell-komento “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;kirjaston_polku:/usr/lib/ libQnn/sdlirrs/flirrus/libQnn/sdlirrs. /adsp"
Tarkkuustyökalu
Qualcomm TFLite SDK tarjoaa tarkkuustyökalun eri ajoaikojen mallien tarkkuuden laskemiseen.
- Luokitus GPU-valtuutetun kanssa
Tarvittavan lataamisen vaiheet fileTestattavat tiedostot löytyvät osoitteesta: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/imagenet_image_classificatio/README.md"
Tämän työkalun suorittamiseen tarkoitettu binaari on jo osa SDK:ta, joten kehittäjän ei tarvitse rakentaa sitä uudelleen.
$ 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” - Objektin tunnistus XNN-paketilla
$ adb komentotulkki “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac
OIKEUDELLISET TIEDOT
Sinun pääsysi ja käyttösi tähän asiakirjaan sekä mahdollisiin eritelmiin ja viitetauluun files, piirustukset, diagnostiikka ja muut tähän sisältyvät tiedot (yhteisesti tämä "Dokumentaatio"), on sinun (mukaan lukien edustamasi yrityksen tai muun oikeushenkilön kollektiivisesti alainen "Sinä" tai "Sinun" käyttöehtojen hyväksyminen ("Käyttöehdot") esitetään alla. Jos et hyväksy näitä käyttöehtoja, et saa käyttää tätä dokumentaatiota ja sinun on välittömästi tuhottava sen kopiot.
- Oikeudellinen huomautus.
Tämä dokumentaatio on saatavilla vain sisäiseen käyttöön Qualcomm Technologies, Inc:n ("Qualcomm Technologies") ja sen tässä dokumentaatiossa kuvattujen tytäryhtiöiden tuotteiden ja palveluiden kanssa, eikä sitä saa käyttää muihin tarkoituksiin. Tätä dokumentaatiota ei saa muuttaa, muokata tai muokata millään tavalla ilman Qualcomm Technologiesin kirjallista lupaa. Tämän luvaton käyttö tai paljastaminen
Tämän asiakirjan sisältämät asiakirjat tai tiedot ovat ehdottomasti kiellettyjä, ja sitoudut korvaamaan Qualcomm Technologiesin, sen tytäryhtiöt ja lisenssinantajat vahingoista tai menetyksistä, joita Qualcomm Technologies, sen tytäryhtiöt ja lisenssinantajat kärsivät tämän dokumentaation luvattomasta käytöstä tai paljastamisesta kokonaan tai kokonaan. osa. Qualcomm Technologies, sen tytäryhtiöt ja lisenssinantajat säilyttävät kaikki oikeudet ja omistusoikeudet tähän dokumentaatioon. Tämä dokumentaatio tai mikään tässä julkistettu tieto ei myönnä tai anna mitään lisenssiä mihinkään tavaramerkkiin, patenttiin, tekijänoikeuteen, maskityön suojausoikeuteen tai mihinkään muuhun immateriaalioikeuksiin, mukaan lukien, mutta ei rajoittuen, lisenssit tehdä, käyttää, tuoda tai tuoda myydä mitä tahansa tuotetta, palvelua tai teknologiaa, joka sisältää mitä tahansa tässä dokumentaatiossa olevaa tietoa.
TÄMÄ ASIAKIRJA TOIMITETAAN "SELLAISENAAN" ILMAN MINKÄÄNLAISTA TAKUUTTA, JOKA ON NIMENOMAINEN, OLUETTU, LAINSÄÄDÄNYT TAI MUUT TAKUUT. QUALCOMM TECHNOLOGIES, SEN TYTÄRYHTIÖT JA LISSENSSIEN MYÖNTÄJÄT ILMOITTAVAT ERITYISESTI KAIKISTA OMISTUKSISTA, MYYNTIKELPOISUUDESTA, LOKKOMUKSESTA, OSAPUOLELLE SOVELTUVUUDESTA URACY JA KAIKKI KAUPPAKÄYTÖSTÄ TAI JOHDANUT TAKUUT KAUPPA- TAI SUORITUSKURSSI PÄÄLLÄ. Lisäksi Qualcomm Technologies eikä minkään sen tytäryhtiöiden tai lisenssinantajien ole vastuussa sinulle tai kenellekään kolmannelle osapuolelle kaikista kuluista, tappioista, käytöstä tai toimista, jotka olet aiheuttanut tai toteuttanut tätä asiakirjaa.
Tietyt tässä dokumentaatiossa mainitut tuotesarjat, työkalut ja materiaalit voivat vaatia sinua hyväksymään lisäehdot ennen kuin pääset käsiksi kyseisiin tuotteisiin tai käytät niitä.
Tässä dokumentaatiossa määritellyt tekniset tiedot voivat olla Yhdysvaltojen ja muiden sovellettavien vientivalvontalakien alaisia. Yhdysvaltojen ja muiden sovellettavien lakien vastainen lähettäminen on ehdottomasti kielletty.
Mikään tässä dokumentaatiossa ei ole tarjous myydä mitään tässä viitatuista komponenteista tai laitteista.
Tätä dokumentaatiota voidaan muuttaa ilman erillistä ilmoitusta. Jos näiden käyttöehtojen ja käyttöehtojen välillä on ristiriita Websivuston käyttöehdot päällä www.qualcomm.com tai Qualcommin tietosuojakäytäntö, johon viitataan www.qualcomm.com, nämä käyttöehdot hallitsevat. Jos näiden käyttöehtojen ja minkä tahansa muun sinun ja Qualcomm Technologiesin tai Qualcomm Technologiesin tytäryhtiön tekemän sopimuksen välillä on ristiriita, joka koskee pääsyäsi tähän dokumentaatioon ja sen käyttöä, toinen sopimus hallitsee .
Näitä käyttöehtoja säätelevät Kalifornian osavaltion lait ja niitä tulkitaan ja pannaan täytäntöön niiden mukaisesti, lukuun ottamatta YK:n kansainvälistä tavarakauppaa koskevaa yleissopimusta, ottamatta huomioon lainvalintaperiaatteita. Kaikki näistä käyttöehdoista tai niiden rikkomisesta tai pätevyydestä johtuvat tai niihin liittyvät riidat, vaatimukset tai kiistat ratkaistaan vain Kalifornian osavaltion San Diegon piirikunnan toimivaltaisessa tuomioistuimessa, ja sinä täten suostut tällaisten tuomioistuinten henkilökohtainen toimivalta tätä tarkoitusta varten. - Tavaramerkki- ja tuotemerkintälausunnot.
Qualcomm on Qualcomm Incorporatedin tavaramerkki tai rekisteröity tavaramerkki. Arm on Arm Limitedin (tai sen tytäryhtiöiden) rekisteröity tavaramerkki Yhdysvalloissa ja/tai muualla. Bluetooth®-sanamerkki on Bluetooth SIG, Inc:n omistama rekisteröity tavaramerkki. Muut tässä dokumentaatiossa mainitut tuote- ja tuotenimet voivat olla omistajiensa tavaramerkkejä tai rekisteröityjä tavaramerkkejä.
Tässä dokumentaatiossa mainitut Snapdragon- ja Qualcomm-merkkiset tuotteet ovat Qualcomm Technologies, Inc:n ja/tai sen tytäryhtiöiden tuotteita. Qualcommin patentoimat teknologiat ovat Qualcomm Incorporatedin lisensoimia.

Asiakirjat / Resurssit
![]() | TensorFlow Lite SDK -ohjelmisto |
Viitteet
- Käyttöopasmanual.tools
