Korisnički priručnik za softver Qualcomm TensorFlow Lite SDK

Qualcomm TensorFlow Lite SDK Software User Guide

Korisnički priručnik za softver Qualcomm TensorFlow Lite SDK
Logo tvrtke

Povijest revizija

Revizija Datum Opis
AA rujna 2023 Početno izdanje
AB listopada 2023

Uvod u Qualcomm TFLite SDK alate

Alati za razvoj softvera Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) pružaju okvir TensorFlow Lite za zaključivanje umjetne inteligencije (AI) na uređaju, što programerima aplikacija olakšava razvoj ili pokretanje odgovarajućih AI aplikacija.
Ovaj dokument pruža upute korak po korak za kompajliranje samostalnog Qualcomm TFLite SDK-a i postavljanje razvojnog okruženja. To omogućuje razvojni tijek rada koji uključuje:

  • postavljanje okruženja za izradu u kojem programer može kompajlirati Qualcomm TFLite SDK
  • razvoj samostalnih Qualcomm TFLite SDK aplikacija

Za podršku, pogledajte https://www.qualcomm.com/podrška. Sljedeća slika daje sažetak tijeka rada Qualcomm TFLite SDK: ”
Slika 1-1 Tijek rada Qualcomm TFLite SDK
Alat zahtijeva platformski SDK i konfiguraciju file (JSON format) za generiranje artefakata Qualcomm TFLite SDK.

Za izradu end-to-end aplikacije pomoću podsustava multimedije, umjetne inteligencije i računalnog vida (CV), pogledajte Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).
Tablica prikazuje mapiranje verzije Qualcomm TFLite SDK s izdanjem CodeLinaro tag:
Tablica 1-1 Informacije o izdanju
Veza

Qualcomm TFLite SDK verzija Izdanje CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tablica 1-2 Podržane verzije Qualcomm TFLite SDK

Qualcomm TFLite SDK verzija Podržani softverski proizvod Podržana TFLite verzija
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Reference
Tablica 1-3 Povezani dokumenti

Titula Broj
Qualcomm
00067.1 Napomena o izdanju za QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide 80-50450-51
Referenca Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Resursi
https://source.android.com/docs/setup/start/initializing

Tablica 1-4 Akronimi i definicije

Akronim ili termin Definicija
AI Umjetna inteligencija
BIOS Osnovni ulazno/izlazni sustav
CV Računalni vid
IPK Njegov paket file
QIM SDK Qualcomm Intelligent multimedia software development kit
SDK Kit za razvoj softvera
TFLite TensorFlow Lite
XNN Xth najbliži susjed

Postavite okruženje za izgradnju za Qualcomm TFLite SDK alate

Alati Qualcomm TFLite SDK objavljeni su u izvornom obliku; stoga je uspostavljanje okruženja za izgradnju radi kompajliranja obavezno, ali jednokratno postavljanje.

Preduvjeti

  • Provjerite imate li sudoaccess na glavnom Linux računalu.
  • Provjerite je li Linux host verzija Ubuntu 18.04 ili Ubuntu 20.04.
  • Povećajte maksimalan broj korisničkih promatranja i maksimalni broj korisničkih instanci na glavnom sustavu.
  • Dodajte sljedeće naredbene retke u /etc/sysctl.confand i ponovno pokrenite host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Instalirajte potrebne host pakete

Host paketi instalirani su na Linux host stroju.
Pokrenite naredbe za instaliranje host paketa: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Za Ubuntu 18.04 i novije:
$ sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5- dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
Za više informacija pogledajte https://source.android.com/docs/setup/start/initializing.

Postavite docker okruženje

Docker je platforma koja se koristi za izgradnju, razvoj, testiranje i isporuku softvera. Za kompajliranje SDK-a, docker mora biti konfiguriran na Linux glavnom računalu.
Provjerite je li CPU virtualizacija omogućena na Linux glavnom računalu. Ako nije omogućeno, učinite sljedeće kako biste ga omogućili iz konfiguracijskih postavki osnovnog ulazno/izlaznog sustava (BIOS):

  1. Omogućite virtualizaciju iz BIOS-a:
    a. Pritisnite F1 ili F2 kada se sustav diže kako biste ušli u BIOS. Prikazuje se BIOS prozor.
    b. Prijeđite na karticu Napredno.
    c. U odjeljku CPU Configuration postavite Virtualization Technology na Enabled.
    a. Pritisnite F12 za spremanje i izlaz, a zatim ponovno pokrenite sustav.
    Ako ovi koraci ne rade, slijedite posebne upute davatelja sustava kako biste omogućili virtualizaciju
  2. Uklonite sve stare instance dockera:
    $ sudo apt uklonite docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Postavite docker udaljeno spremište:
    $ sudo apt-get ažuriranje $ sudo apt-get instalirajte ca-certifikate curl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg — dearmor -o /etc/apt/keyrings/docker.gpg $ echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilan” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Instalirajte docker motor:
    $ sudo apt-get ažuriranje $ sudo apt-get instalacija docker-ce docker-ce-cli
  5.  Dodaj korisnika u docker grupu:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Ponovno pokrenite sustav.

Generirajte platformski SDK

Platforma SDK obavezan je uvjet za kompajliranje Qualcomm TFLite SDK alata. Pruža sve potrebne ovisnosti o platformi koje zahtijeva Qualcomm TFLite SDK.
Učinite sljedeće za generiranje platformskog SDK-a:

  1. Stvorite međugradnju za željeni softverski proizvod.
    Upute za izgradnju izdanja QCS8550.LE.1.0 navedene su u bilješkama o izdanju. Za pristup bilješkama o izdanju pogledajte Reference.
    Ako su slike prethodno izgrađene, izvedite korak 2, a zatim izradite čistu međugradnju.
  2. Pokrenite sljedeću naredbu za izradu slika korisničkog prostora i SDK platforme:
    Za QCS8550.LE.1.0 dodajte značajku stroja qti-tflite-delegate u MACHINE_FEATURES u kalama.conf file i izvor okruženja za izgradnju prema uputama iz napomena o izdanju.
    Nakon generiranja slika korisničkog prostora iz međugradnje, pokrenite sljedeću naredbu za generiranje platformskog SDK-a.
    $ bitbake -fc populate_sdk qti-robotics-image

Izradite Qualcomm TFLite SDK alate – tijek rada razvojnog programera

Tijek rada alata Qualcomm TFLite SDK zahtijeva da razvojni programer pruži konfiguraciju file s važećim unosima. Pomoćne skripte ljuske iz projekta tflite-tools (prisutne u izvornom stablu Qualcomm TFLite SDK) pružaju pomoćne uslužne funkcije za postavljanje okruženja ljuske, koje se mogu koristiti za tijek rada Qualcomm TFLite SDK.
Razvojni programer gradi Qualcomm TFLite SDK projekte unutar spremnika i generira artefakte koristeći pomoćne programe koje pružaju tflite-alati.
Nakon što se Qualcomm TFLite SDK spremnik izgradi, programer se može priključiti na spremnik i koristiti pomoćne uslužne programe u okruženju ljuske spremnika za kontinuirani razvoj.

  • Postoji odredba za instaliranje artefakata Qualcomm TFLite SDK na Qualcomm uređaj povezan s Linux hostom putem USB-a/adb-a.
  • Također postoji odredba za kopiranje artefakata Qualcomm TFLite SDK iz spremnika na drugo glavno računalo na koje je povezan Qualcomm uređaj.
    Veza

Sljedeća slika prikazuje skup uslužnih programa dostupnih nakon postavljanja okruženja za izgradnju spremnika pomoću pomoćnih skripti za izgradnju Qualcomm TFLite SDK.
Veza

Slika prikazuje redoslijed izvršavanja uslužnih programa:
Slika 4-3 Redoslijed uslužnih programa na hostu
Veza

Sinkronizirajte i izgradite Qualcomm TFLite SDK
Qualcomm TFLite SDK se kompilira kada se izradi docker slika. Da biste sinkronizirali i izgradili Qualcomm TFLite SDK, učinite sljedeće:

  1. Stvorite imenik na hostu file sustav za sinkronizaciju radnog prostora Qualcomm TFLite SDK. Za
    exampono: $mkdir $cd
  2. Dohvatite izvorni kod Qualcomm TFLite SDK iz CodeLinaro:
    $ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j
  3. Stvorite imenik na hostu file sustav koji se može montirati u docker. Na primjerample: mkdir-p / Ovaj se direktorij može stvoriti bilo gdje na Linux glavnom računalu i ne ovisi o tome gdje je projekt Qualcomm TFLite SDK sinkroniziran. Nakon dovršetka tijeka rada unutar spremnika, artefakti Qualcomm TFLite SDK mogu se pronaći u direktoriju stvorenom u ovom koraku.
  4. Uredite JSON konfiguraciju file prisutan u /tflite-tools/ targets/le-tflite-tools-builder.json sa sljedećim unosima:
    “Slika”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “Hexagon_delegate”: “OFF”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ /”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “” }
    Za više informacija o unosima spomenutim u json konfiguraciji file, pogledajte Docker.md readme file na /tflite-tools/.
    BILJEŠKA Za QCS8550, Qualcomm® Hexagon™ DSP delegat nije podržan.
  5. Izvor skripte za postavljanje okruženja:
    $ cd /tflite-tools $ izvor ./scripts/host/docker_env_setup.sh
  6.  Izgradite sliku dockera Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Ako postavljanje izgradnje ne uspije, pogledajte Rješavanje problema s postavljanjem dockera. Nakon uspješnog dovršetka prikazuje se sljedeća poruka: "Status: Izgradnja slike uspješno dovršena!!" Pokretanjem ovog koraka izrađuje se i Qualcomm TFLite SDK.
  7.  Pokrenite Qualcomm TFLite SDK docker spremnik. Ovo pokreće spremnik s tags koji se nalazi u JSON konfiguraciji file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Pričvrstite na spremnik započet u prethodnom koraku.
    $ docker priložiti

Qualcomm TFLite SDK je kompiliran, a artefakti su spremni za implementaciju ili se dalje mogu
koristi se za generiranje dodatka QIM SDK TFLite.

Povežite uređaj s hostom i implementirajte artefakte]

Nakon kompilacije, postoje dva mehanizma za povezivanje uređaja s hostom i postavljanje
Qualcomm TFLite SDK artefakti.

  • Uređaj povezan s lokalnim Linux hostom:
    Programer povezuje uređaj s radnom stanicom i instalira Qualcomm TFLite SDK artefakte iz spremnika izravno na uređaj (QCS8550).
  • Uređaj povezan s udaljenim hostom:
    Programer povezuje uređaj s udaljenom radnom stanicom i može koristiti naredbe programa za instaliranje upravitelja paketa na Windows i Linux platformama za instaliranje artefakata Qualcomm TFLite SDK na uređaj (QCS8550)

Slika 4-4 Povezivanje ploče uređaja s programerom i udaljenom radnom stanicom
Veza

Spojite uređaj na radnu stanicu

Uređaj je povezan s radnom stanicom i razvojni spremnik može pristupiti uređaju putem USB-a/adb-a.
Slika prikazuje stages u nizu tijeka rada Qualcomm TFLite SDK:
Veza

  1. Pokrenite sljedeće naredbe za instalaciju artefakata na uređaj:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. Da biste deinstalirali artefakte, pokrenite sljedeću naredbu:
    $ tflite-tools-device-packages-remove

Povežite uređaj s udaljenim strojem

Uređaj je povezan s udaljenim strojem, a Qualcomm TFLite SDK spremnik ne može pristupiti uređaju putem USB-a/ad b.
Slika prikazuje stages u nizu tijeka rada Qualcomm TFLite SDK:
Veza

Pokrenite sljedeće naredbe u spremniku tflite-tools da biste kopirali artefakte na udaljeni stroj
ovisno o upravitelju paketa na uređaju:
$ tflite-tools-remote-sync-ipk-rel-pkg
BILJEŠKA Podaci o udaljenom stroju navedeni su u JSON konfiguraciji file.
Instalirajte artefakte za Windows platformu
Artefakti Qualcomm TFLite SDK mogu se instalirati na uređaj na temelju operativnog sustava udaljenog stroja.

Za Windows platformu učinite sljedeće:
Na PowerShell upotrijebite sljedeću skriptu: PS C:
> adb root PS C:> adb disable-verity PS C:> adb reboot PS C:> adb wait-for-device PS C:> adb root PS C:> adb remount PS C:> adb shell mount -o remount, rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb push /tmp Ako je paket ipk (za QCS8550.LE.1.0), koristite sljedeće naredbe: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Instalirajte artefakte za Linux platformu
Koristite sljedeće naredbe:
$ adb root $ adb disable-verity $ adb reboot $ adb wait-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp If paket je ipk (za QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Očistite docker sliku
Nakon dovršetka tijeka rada razvojnog programera, docker okruženje treba očistiti kako bi se oslobodila pohrana na disku. Čišćenje dockera uklanja neiskorištene spremnike i slike, čime se oslobađa prostor na disku.
Koristite sljedeće naredbe za čišćenje docker slike:

  1. Pokrenite sljedeću naredbu na Linux radnoj stanici:
    $ cd /tflite-alati
  2. Zaustavite spremnik:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Uklonite spremnik:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Uklonite starije docker slike:
    $ tflite-tools-host-images-cleanup

Rješavanje problema s postavljanjem dockera

Ako naredba tflite-tools-host-build-image vrati poruku Nospace left on device, premjestite docker direktorij u/local/mnt. Učinite sljedeće za rješavanje problema s postavljanjem:

  1. Sigurnosno kopirajte postojeći docker files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(datum + %s).tar.gz
  2. Zaustavite docker:
    $ service docker stop
  3. Provjerite da nije pokrenut nijedan docker proces:
    $ ps faux | grep docker
  4. Provjerite strukturu docker direktorija:
    $ sudo ls /var/lib/docker/
  5. Premjestite docker direktorij na novu particiju:
    $ mv /var/lib/docker /local/mnt/docker
  6. Napravite simboličku vezu na docker direktorij u novoj particiji:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Osigurajte da struktura docker direktorija ostane nepromijenjena:
    $ sudo ls /var/lib/docker/
  8. Pokreni docker:
    $ servis docker početak
  9. Ponovno pokrenite sve spremnike nakon premještanja docker direktorija.

Generirajte TFLite SDK s Linux radnom stanicom

Tijek rada TFLite SDK može se omogućiti bez spremnika pomoću Linux radne stanice. Ovaj postupak je alternativa korištenju spremnika.
Da biste sinkronizirali i izgradili Qualcomm TFLite SDK, učinite sljedeće:

  1. Stvorite imenik na hostu file sustav za sinkronizaciju radnog prostora Qualcomm TFLite SDK. Na primjerampono:
    $mkdir
    $cd
  2. Dohvatite izvorni kod Qualcomm TFLite SDK iz CodeLinaro:
    $ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j8 && repo sync -qc –no-tags -j8
  3. 3. Uredite JSON konfiguraciju file prisutan u /tflite-tools/ targets/le-tflite-tools-builder.json sa sljedećim unosima
    “Slika”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “Hexagon_delegate”: “OFF”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ “, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “”
    Za više informacija o unosima spomenutim u json konfiguraciji file, pogledajte Docker.md readme file na /tflite-alati/.
    BILJEŠKA Za QCS8550, Hexagon DSP delegat nije podržan
  4. Izvor skripte za postavljanje okruženja:
    $ cd /tflite-alati
    $ izvor ./scripts/host/host_env_setup.sh
  5. Izgradite Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Pokrenite sljedeće naredbe uslužnog programa u istoj Linux ljusci da prikupite TFLite SDK artefakte iz 
    TFLite_rsync_destination.
    $ tflite-tools-host-get-rel-package targets/le-tflite-tools-builder.json
    $ tflite-tools-host-get-dev-package targets/le-tflite-tools-builder.json
  7. Instalirajte artefakte na temelju operativnog sustava
    • Za Windows platformu, na PowerShell, koristite sljedeću skriptu
      PS C:> adb root PS C:> adb disable-verity PS C:> adb reboot PS C:> adb wait-for-device PS C:> adb root PS C:> adb remount PS C:> adb shell mount - o remount,rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb push /tmp
      Ako je paket ipk (za QCS8550.LE.1.0), koristite sljedeće naredbe:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Za Linux platformu koristite sljedeću skriptu:
      $ adb root $ adb disable-verity $ adb reboot $ adb wait-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Ako je paket ipk (za QCS8550.LE.1.0):
      $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Generirajte Qualcomm TFLite SDK artefakte za QIM SDK izgradnju

Za korištenje generiranih artefakata za omogućavanje dodatka Qualcomm TFLite SDK GStreamer u QIM SDK-u, učinite sljedeće:

  1. Dovršite postupak u aplikaciji Sync i izgradite Qualcomm TFLite SDK, a zatim pokrenite sljedeću naredbu: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    katran file se generira. Sadrži Qualcomm TFLite SDK na stazi navedenoj na “TFLite_rsync_destination”
  2. Da biste omogućili Qualcomm TFLite SDK GStreamer dodatak, koristite tar file kao argument u JSON konfiguraciji file za QIM SDK verziju.
    Za informacije o sastavljanju QIM SDK-a, pogledajte Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).

Gradite Qualcomm TFLite SDK postepeno

Ako prvi put gradite Qualcomm TFLite SDK, pogledajte Izrada Qualcomm TFLite SDK alata – tijek rada razvojnog programera. Isto okruženje za izgradnju može se ponovno koristiti za inkrementalni razvoj.
Pomoćni programi (unutar spremnika) spomenuti na slici dostupni su programerima za kompajliranje modificiranih aplikacija i dodataka.
Slika 5-1 Tijek rada u spremniku

Veza

Nakon što se dovrše promjene koda u direktoriju koda, učinite sljedeće:

  1. Prevedi modificirani kod:
    $ tflite-tools-incremental-build-install
  2. Sastavljeni kod paketa:
    $ tflite-tools-ipk-rel-pkg ili $ tflite-tools-deb-rel-pkg
  3. Sinkronizirajte pakete izdanja s hostom file sustav:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Pripremite razvojni paket:
    $ tflite-tools-ipk-dev-pkg
    Prevedeni artefakti nalaze se u mapi TFLite_rsync_destination spomenutoj u JSON-u file, koji se može kopirati u bilo koji imenik.

Radite s QNN vanjskim TFLite delegatom

TFLite External Delegate omogućuje vam pokretanje vaših modela (djelomično ili u cijelosti) na drugom izvršitelju koristeći biblioteke koje osigurava treća strana od povjerenja kao što je QNN tvrtke Qualcomm. Ovaj mehanizam može iskoristiti razne akceleratore na uređaju kao što su GPU ili Hexagon Tensor Processor (HTP) za zaključivanje. To programerima pruža fleksibilnu i odvojenu metodu od zadanog TFLite-a za ubrzavanje zaključivanja.

Preduvjeti:

  • Uvjerite se da koristite Ubuntu radnu stanicu za izdvajanje QNN AI stog.
  • Provjerite koristite li QNN verziju 2.14 u kombinaciji s Qualcomm TFLite SDK

Qualcomm TFLite SDK omogućen je za izvođenje zaključaka na nekoliko QNN pozadina putem TFLite vanjskog Delegata za QNN. TFLite modeli sa zajedničkim flatbuffer prikazom mogu se pokretati na GPU-u i HTP-u.
Nakon što su Qualcomm TFLite SDK paketi instalirani na uređaj, učinite sljedeće da instalirate QNN biblioteke na uređaj.

  1. Preuzmite Qualcomm Package Manager 3 za Ubuntu.
    a. Kliknite https://qpm.qualcomm.com/ i kliknite Alati.
    b. U lijevom oknu, u polje Search Tools, upišite QPM. Na popisu System OS odaberite Linux.
    Rezultati pretraživanja prikazuju popis Qualcomm Package Managera.
    c. Odaberite Qualcomm Package Manager 3 i preuzmite Linux debian paket.
  2. Instalirajte Qualcomm Package Manager 3 za Linux. Koristite sljedeću naredbu:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Preuzmite Qualcomm®
    AI Engine Direct SDK na Ubuntu radnoj stanici.
    a. Kliknite https://qpm.qualcomm.com/ i kliknite Alati.
    b. U lijevom oknu, u polje Search Tools, upišite AI stack. Na popisu System OS odaberite Linux.
    A prikazuje se padajući popis koji sadrži različite AI stack motore.
    c. Kliknite Qualcomm® AI Engine Direct SDK i preuzmite Linux v2.14.0 paket.
  4. Instalirajte Qualcomm® AI Engine Direct SDK na radnu stanicu Ubuntu.
    a. Aktivirajte licencu:
    qpm-cli –aktivacija licence qualcomm_ai_engine_direct
    b Instalirajte AI Engine Direct SDK:
    $ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Push biblioteke na uređaj s Ubuntu radne stanice pomoću adb push-a.
    $ cd /opt/qcom/aistack/qnn/2.14.0.230828 $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnDsp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnDspV66Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnGpu.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpPrepare.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnHtp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpV68Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnSaver.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnSystem.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnTFLiteDelegate.so /usr/lib/ $ adb push ./lib/hexagon-v65/ unsigned/ libQnnDspV65Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v66/unsigned/ libQnnDspV66Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v68/unsigned/ libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned/ libQnnHtpV73Skel. pa /usr/lib/rfsa/adsp

Testirajte Qualcomm TFLite SDK

Qualcomm TFLite SDK pruža određene example aplikacije, koje se mogu koristiti za provjeru, usporedbu i dobivanje točnosti modela koje programer želi procijeniti.
Nakon što se paketi Qualcomm TFLite SDK instaliraju na uređaj, na uređaju je dostupno vrijeme izvođenja za pokretanje ovih pr.ample aplikacije.
Preduvjet
Napravite sljedeće direktorije na uređaju:
$ adb shell “mkdir /data/Models”
$ adb shell “mkdir /data/Lables”
$ adb shell “mkdir /data/profiling”

Slika oznake

Slika oznake uslužni je program koji pruža Qualcomm TFLite SDK koji pokazuje kako možete učitati unaprijed obučeni i konvertirani TensorFlow Lite model i koristiti ga za prepoznavanje objekata na slikama. Preduvjeti:
Preuzimanje sampmodel i slika:
Možete koristiti bilo koji kompatibilni model, ali sljedeći model MobileNet v1 nudi dobru demonstraciju modela osposobljenog za prepoznavanje 1000 različitih objekata.

  • Uzmi model
    $ curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /podaci $ mv /data/mobilenet_v1_1.0_224.tflite /podaci/Modeli/
  • Nabavite naljepnice
    $ 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/
    Nakon što se povežete s docker spremnikom Qualcomm TFLite SDK, slika se može pronaći na:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Gurni ovo file do/podataka/Oznake/
    b. Pokrenite naredbu:
    $ adb shell “label_image -l /data/Labels/labels.txt -i /data/Labels/ grace_hopper.bmp -m /data/Models/mobilenet_v1_1.0_224.tflite -c 10 -j 1 -p 1”

Benchmark

Qualcomm TFLite SDK pruža alat za usporednu analizu za izračunavanje izvedbe različitih vremena rada.
Ovi alati za usporedbu trenutno mjere i izračunavaju statistiku za sljedeće važne metrike izvedbe:

  • Vrijeme inicijalizacije
  • Vrijeme zaključivanja stanja zagrijavanja
  • Vrijeme zaključivanja stacionarnog stanja
  • Upotreba memorije tijekom vremena inicijalizacije
  • Ukupna upotreba memorije

Preduvjeti

Pošaljite modele za testiranje iz TFLite Model Zoo (https://tfhub.dev/) u/podatke/Modeli/. Pokreni sljedeće skripte:  

  • XNN paket
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/podaci/profiliranje/”
  • GPU delegat
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_gpu=true –num_runs=100 –warmup_runs=10 — max_secs=300 –profiling_output_csv_file=/podaci/profiliranje/”
  • Vanjski delegat
    QNN vanjski delegat GPU:
    Pokreni zaključak s modelom s pomičnim zarezom:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so;skel_library_dir:/usr/lib/rfsa /adsp'”
    QNN vanjski delegat HTP:
    Pokreni zaključivanje s kvantitativnim modelom:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtp.so;skel_library_dir:/usr/lib/rfsa /adsp'”

Alat za točnost

Qualcomm TFLite SDK pruža alat za točnost za izračunavanje točnosti modela s različitim vremenima izvođenja.

  • Klasifikacija s GPU delegatom
    Koraci za preuzimanje potrebnih fileza testiranje možete pronaći na: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Binarna datoteka za pokretanje ovog alata već je dio SDK-a, tako da je razvojni programer ne mora ponovno graditi.
    $ adb shell “image_classify_run_eval — model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu”
  • Otkrivanje objekata s XNN paketom
    $ adb shell “inf_diff_run_eval –model_file=/podaci/Modeli/ –delegate=xnnpac

Vaš pristup i korištenje ovog dokumenta, zajedno sa svim specifikacijama, referentnom pločom files, crteži, dijagnostika i druge informacije sadržane ovdje (zajednički ovo "Dokumentacija"), podliježe vašim (uključujući korporaciju ili drugu pravnu osobu koju predstavljate, zajedno "Vi" ili "Vaš") prihvaćanje odredbi i uvjeta (“Uvjeti korištenja”) navedeno u nastavku. Ako se ne slažete s ovim Uvjetima korištenja, ne smijete koristiti ovu Dokumentaciju i odmah ćete uništiti svaku njezinu kopiju.

  1. Pravna obavijest.
    Ova Dokumentacija Vam je dostupna isključivo za Vašu internu upotrebu s onim proizvodima i ponudama usluga tvrtke Qualcomm Technologies, Inc. ("Qualcomm Technologies") i njezinih podružnica opisanih u ovoj Dokumentaciji i neće se koristiti ni u koje druge svrhe. Ova se dokumentacija ne smije mijenjati, uređivati ​​ili modificirati na bilo koji način bez prethodnog pismenog odobrenja tvrtke Qualcomm Technologies. Neovlašteno korištenje ili otkrivanje ovoga
    Dokumentacija ili ovdje sadržane informacije strogo su zabranjene i suglasni ste nadoknaditi Qualcomm Technologies, njegove podružnice i davatelje licence za bilo kakvu štetu ili gubitke pretrpljene od strane Qualcomm Technologies, njezinih podružnica i davatelja licence za bilo koju takvu neovlaštenu upotrebu ili otkrivanje ove Dokumentacije, u cijelosti ili dio. Qualcomm Technologies, njegove podružnice i davatelji licenci zadržavaju sva prava i vlasništvo nad ovom Dokumentacijom. Nikakva licenca za bilo koji zaštitni znak, patent, autorsko pravo, pravo na zaštitu maske ili bilo koje drugo pravo intelektualnog vlasništva nije dodijeljeno niti implicirano ovom Dokumentacijom ili bilo kojim informacijama koje su ovdje otkrivene, uključujući, ali ne ograničavajući se na bilo koju licencu za izradu, korištenje, uvoz ili prodati bilo koji proizvod, uslugu ili ponudu tehnologije koja sadrži bilo koju informaciju u ovoj Dokumentaciji.
    OVA DOKUMENTACIJA SE DAJE "KAKAV JEST" BEZ BILO KAKVOG JAMSTVA, BILO IZRIČITOG, IMPLICITNOG, ZAKONSKOG ILI DRUGOG. U MAKSIMALNOJ MJERI DOPUŠTENOJ ZAKONOM, QUALCOMM TECHNOLOGIES, NJEGOVE PODRUŽNICE I DAVATELJI LICENCE IZRIČITO SE ODRIČU SVIH JAMSTAVA U VLASNIŠTVU, MOGUĆNOSTI PRODAJE, NEKRŠENJA, PRIKLADNOSTI ZA ODREĐENU SVRHU, ZADOVOLJAVAJUĆE KVALITETE, POTPUNOSTI ILI TOČNOSTI TE SVA JAMSTVA KOJA PROIZLAZE IZ TRGOVINSKE UPORABE ILI IZVAN TEČAJA POSLOVANJA ILI TEČAJA IZVRŠENJA. ŠTAVIŠE, NI QUALCOMM TECHNOLOGIES, NI BILO KOJI OD NJEGOVIH PODRUŽNICA ILI DAVATELJA LICENCE NEĆE BITI ODGOVORNI VAMA ILI BILO KOJOJ TREĆOJ STRANI ZA BILO KAKVE TROŠKOVE, GUBITKE, KORIŠTENJE ILI RADNJE KAKO DA STE NASTALI ILI PODUZELI OSLANJAJUĆI SE NA OVU DOKUMENTACIJU .
    Određeni setovi proizvoda, alati i materijali navedeni u ovoj Dokumentaciji mogu zahtijevati da prihvatite dodatne uvjete i odredbe prije pristupa ili korištenja tih stavki.
    Tehnički podaci navedeni u ovoj Dokumentaciji mogu podlijegati američkim i drugim primjenjivim zakonima o kontroli izvoza. Prijenos protivan američkom i bilo kojem drugom primjenjivom zakonu strogo je zabranjen.
    Ništa u ovoj Dokumentaciji nije ponuda za prodaju bilo koje komponente ili uređaja koji se ovdje spominje.
    Ova je dokumentacija podložna promjenama bez daljnje obavijesti. U slučaju sukoba između ovih Uvjeta korištenja i Webstranice Uvjeti korištenja na www.qualcomm.com ili Politika privatnosti tvrtke Qualcomm navedena na www.qualcomm.comovi Uvjeti korištenja imaju prednost. U slučaju sukoba između ovih Uvjeta korištenja i bilo kojeg drugog ugovora (pisanog ili klikanjem) koji ste sklopili Vi i Qualcomm Technologies ili podružnica Qualcomm Technologies u vezi s Vašim pristupom i korištenjem ove Dokumentacije, drugi će ugovor imati kontrolu .
    Ovi Uvjeti korištenja regulirat će se, tumačiti i provoditi u skladu sa zakonima države Kalifornije, isključujući Konvenciju UN-a o međunarodnoj prodaji robe, bez obzira na načela sukoba zakona. O svim sporovima, zahtjevima ili prijeporima koji proizlaze iz ili u vezi s ovim Uvjetima korištenja, ili kršenjem ili valjanošću ovih Uvjeta, presuđivat će samo nadležni sud u okrugu San Diego, država Kalifornija, a Vi ovime pristajete na osobna nadležnost takvih sudova u tu svrhu.
  2. Izjave o atribuciji zaštitnih znakova i proizvoda.
    Qualcomm je zaštitni znak ili registrirani zaštitni znak tvrtke Qualcomm Incorporated. Arm je registrirani zaštitni znak Arm Limited (ili njegovih podružnica) u SAD-u i/ili drugdje. Riječni znak Bluetooth® registrirani je zaštitni znak u vlasništvu Bluetooth SIG, Inc. Ostali nazivi proizvoda i robnih marki navedeni u ovoj dokumentaciji mogu biti zaštitni znakovi ili registrirani zaštitni znakovi njihovih vlasnika.
    Proizvodi robne marke Snapdragon i Qualcomm navedeni u ovoj Dokumentaciji su proizvodi tvrtke Qualcomm Technologies, Inc. i/ili njezinih podružnica. Qualcomm patentirane tehnologije licencirane su od strane Qualcomm Incorporated.

Logo tvrtke

Dokumenti / Resursi

PDF thumbnailTensorFlow Lite SDK softver
User Guide · TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Postavite pitanje

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

Postavite pitanje

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.