Qualcomm TensorFlow Lite SDK -ohjelmiston käyttöopas

Qualcomm TensorFlow Lite SDK Software User Guide

Qualcomm TensorFlow Lite SDK -ohjelmiston käyttöopas
Yrityksen logo

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
Yhteys

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
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.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:

  1. 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
  2. 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
  3.  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
  4.  Asenna telakointimoottori:
    $ sudo apt-get update $ sudo apt-get asenna docker-ce docker-ce-cli
  5.  Lisää käyttäjä telakointiryhmään:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  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:

  1. 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.
  2. 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.
    Yhteys

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.
Yhteys

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

Synkronoi ja luo Qualcomm TFLite SDK
Qualcomm TFLite SDK käännetään, kun telakointikuva luodaan. Voit synkronoida ja rakentaa Qualcomm TFLite SDK:n seuraavasti:

  1. Luo hakemisto isäntään file järjestelmä Qualcomm TFLite SDK -työtilan synkronoimiseksi. varten
    exampseuraavat: $mkdir $cd
  2. 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
  3. 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.
  4. 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.
  5. Lähde skripti ympäristön määrittämiseksi:
    $ cd /tflite-tools $ lähde ./scripts/host/docker_env_setup.sh
  6.  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.
  7.  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
  8. 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
Yhteys

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ä:
Yhteys

  1. Suorita seuraavat komennot asentaaksesi artefaktit laitteeseen:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. 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ä:
Yhteys

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:

  1. Suorita seuraava komento Linux-työasemassa:
    $ cd /tflite-työkalut
  2. Pysäytä säiliö:
    $ tflite-tools-host-stop-container ./targets/le-tflite-tools-builder.json
  3. Poista säiliö:
    $ tflite-tools-host-rm-container ./targets/le-tflite-tools-builder.json
  4. 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:

  1. Varmuuskopioi olemassa oleva telakointiasema files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(päivämäärä + %s).tar.gz
  2. Pysäytä telakka:
    $ Service Docker stop
  3. Varmista, että mikään telakointiprosessi ei ole käynnissä:
    $ ps faux | grep docker
  4. Tarkista Docker-hakemistorakenne:
    $ sudo ls /var/lib/docker/
  5. Siirrä Docker-hakemisto uuteen osioon:
    $ mv /var/lib/docker /local/mnt/docker
  6. Tee symbolilinkki Docker-hakemistoon uudessa osiossa:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Varmista, että Docker-hakemistorakenne pysyy muuttumattomana:
    $ sudo ls /var/lib/docker/
  8. Käynnistä telakka:
    $ Service Docker käynnistyy
  9. 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:

  1. Luo hakemisto isäntään file järjestelmä Qualcomm TFLite SDK -työtilan synkronoimiseksi. esimampseuraavat:
    $mkdir
    $cd
  2. 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. 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
  4. Lähde skripti ympäristön määrittämiseksi:
    $ cd /tflite-työkalut
    $ lähde ./scripts/host/host_env_setup.sh
  5. Rakenna Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  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
  7. 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/"

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:

  1. 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"
  2. 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ä

Yhteys

Kun koodin muutokset on tehty koodihakemistossa, toimi seuraavasti:

  1. Kääntää muokattu koodi:
    $ tflite-tools-incremental-build-install
  2. Paketin koottu koodi:
    $ tflite-tools-ipk-rel-pkg tai $ tflite-tools-deb-rel-pkg
  3. Synkronoi julkaisupaketit isännän kanssa file järjestelmä:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. 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.

  1. 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.
  2. 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
  3. 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.
  4. 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
  5. 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.

  1. 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.
  2. 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.

Yrityksen logo

Asiakirjat / Resurssit

PDF thumbnailTensorFlow Lite SDK -ohjelmisto
User Guide · TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Viitteet

Esitä kysymys

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Esitä kysymys

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.