Udhëzuesi i përdorimit të softuerit Qualcomm TensorFlow Lite SDK
Logoja e kompanisë

Historia e rishikimit

Rishikim Data Përshkrimi
AA shtator 2023 Lëshimi fillestar
AB tetor 2023

Hyrje në mjetet Qualcomm TFLite SDK

Veglat e kompletit të zhvillimit të softuerit Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) ofrojnë kornizën TensorFlow Lite për konkluzionet e inteligjencës artificiale (AI) në pajisje, e cila lehtëson zhvilluesit e aplikacioneve të zhvillojnë ose ekzekutojnë aplikacione të përshtatshme AI.
Ky dokument ofron udhëzime hap pas hapi për të përpiluar një Qualcomm TFLite SDK të pavarur dhe për të konfiguruar mjedisin e zhvillimit. Kjo mundëson rrjedhën e punës së zhvilluesit, e cila përfshin:

  • konfigurimi i mjedisit të ndërtimit ku zhvilluesi mund të përpilojë Qualcomm TFLite SDK
  • duke zhvilluar aplikacione të pavarura Qualcomm TFLite SDK

Për mbështetje, shihni https://www.qualcomm.com/mbështetje. Figura e mëposhtme ofron një përmbledhje të rrjedhës së punës Qualcomm TFLite SDK:
Figura 1-1 Rrjedha e punës e Qualcomm TFLite SDK
Mjeti kërkon një platformë SDK dhe një konfigurim file (format JSON) për të gjeneruar artefaktet Qualcomm TFLite SDK.

Për të ndërtuar një aplikacion nga fundi në fund duke përdorur nënsistemet multimedia, AI dhe vizion kompjuterik (CV), shihni Udhëzuesin e Fillimit të Shpejtë të Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
Tabela tregon hartën e versionit të Qualcomm TFLite SDK me lëshimin e CodeLinaro tag:
Tabela 1-1 Informacioni i publikimit
Lidhja

Versioni i Qualcomm TFLite SDK Publikimi i CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tabela 1-2 Versionet e mbështetura të Qualcomm TFLite SDK

Qualcomm Versioni TFLite SDK Produkt softuerik i mbështetur Versioni i mbështetur TFLite
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Referencat
Tabela 1-3 Dokumentet përkatëse

Titulli Numri
Qualcomm
00067.1 Shënim publikimi për QCS8550.LE.1.0 RNO-230830225415
Udhëzues për fillimin e shpejtë të Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-51
Referenca e Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Burimet
https://source.android.com/docs/setup/start/initializing

Tabela 1-4 Akronimet dhe përkufizimet

Akronim ose term Përkufizimi
AI Inteligjenca artificiale
BIOS Sistemi bazë hyrës/dalës
CV Vizioni kompjuterik
IPK Paketa e saj file
QIM SDK Kompleti i zhvillimit të softuerit multimedial Qualcomm Intelligent
SDK Kompleti i zhvillimit të softuerit
TFLite TensorFlow Lite
XNN Xth fqinji më i afërt

Konfiguro mjedisin e ndërtimit për mjetet Qualcomm TFLite SDK

Veglat e Qualcomm TFLite SDK lëshohen në formën burimore; prandaj, krijimi i mjedisit të ndërtimit për përpilimin e tij është një konfigurim i detyrueshëm, por një herë.

Parakushtet

  • Sigurohuni që të keni akses sudo në kompjuterin pritës Linux.
  • Sigurohuni që versioni i hostit Linux të jetë Ubuntu 18.04 ose Ubuntu 20.04.
  • Rritni orët maksimale të përdoruesve dhe instancat maksimale të përdoruesve në sistemin pritës.
  • Shtoni linjat e mëposhtme të komandës në/etc/sysctl.confand rinisni hostin: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Instaloni paketat e nevojshme të hostit

Paketat e hostit janë instaluar në makinën pritës Linux.
Ekzekutoni komandat për të instaluar paketat e hostit: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Për Ubuntu 18.04 dhe më të lartë:
$ sudo apt-get instalo git-core gnupg flex bison build-thelbësore 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 unfigzip
Për më shumë informacion, shihni https://source.android.com/docs/setup/start/initializing.

Konfiguro mjedisin doker

Një docker është një platformë e përdorur për të ndërtuar, zhvilluar, testuar dhe shpërndarë softuer. Për të përpiluar SDK-në, dokeri duhet të konfigurohet në makinën pritës Linux.
Sigurohuni që virtualizimi i CPU-së të jetë i aktivizuar në kompjuterin pritës Linux. Nëse nuk është i aktivizuar, bëni sa më poshtë për ta aktivizuar nga cilësimet bazë të konfigurimit të sistemit të hyrjes/daljes (BIOS):

  1. Aktivizo virtualizimin nga BIOS:
    a. Shtypni F1 ose F2 kur sistemi po niset për të hyrë në BIOS. Shfaqet dritarja BIOS.
    b. Kaloni në skedën "Avanced".
    c. Në seksionin Konfigurimi i CPU-së, vendosni Teknologjinë e Virtualizimit në Enabled.
    a. Shtypni F12 për të ruajtur dhe për të dalë, dhe më pas rinisni sistemin.
    Nëse këto hapa nuk funksionojnë, ndiqni udhëzimet specifike nga ofruesi i sistemit për të aktivizuar virtualizimin
  2. Hiqni çdo shembull të vjetër të dokerit:
    $ sudo apt hiqni docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Konfiguro magazinë në distancë të docker:
    Përditësimi i $ sudo apt-get $ sudo apt-get instaloni çertifikatat ca-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) stabile” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Instaloni motorin docker:
    përditësimi i $ sudo apt-get $ sudo apt-get instalo docker-ce docker-ce-cli
  5.  Shto përdorues në grupin docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Rinisni sistemin.

Krijo platformë SDK

Platforma SDK është një kërkesë e detyrueshme për të përpiluar mjetet e Qualcomm TFLite SDK. Ai siguron të gjitha varësitë e kërkuara të platformës që kërkohen nga Qualcomm TFLite SDK.
Bëni sa më poshtë për të gjeneruar platformën SDK:

  1. Krijo një ndërtim për produktin e preferuar të softuerit.
    Udhëzimet për të ndërtuar versionin QCS8550.LE.1.0 jepen në shënimet e publikimit. Për të hyrë në shënimet e publikimit, shihni Referencat.
    Nëse imazhet janë ndërtuar më parë, ekzekutoni hapin 2 dhe më pas krijoni një ndërtim të pastër.
  2. Ekzekutoni komandën e mëposhtme për të ndërtuar imazhet e hapësirës së përdoruesit dhe platformën SDK:
    Për QCS8550.LE.1.0, shtoni veçorinë e makinës qti-tflite-delegate në MACHINE_FEATURES në kalama.conf file dhe burimin e mjedisit të ndërtimit sipas udhëzimeve nga shënimet e lëshimit.
    Pas gjenerimit të imazheve të hapësirës së përdoruesit nga ndërtimi, ekzekutoni komandën e mëposhtme për të gjeneruar platformën SDK.
    $ bitbake -fc populate_sdk qti-robotics-image

Ndërtoni mjetet e Qualcomm TFLite SDK - rrjedha e punës e zhvilluesve

Rrjedha e punës e mjeteve të Qualcomm TFLite SDK kërkon që zhvilluesi të sigurojë konfigurimin file me hyrje të vlefshme hyrëse. Skriptet e guaskës ndihmëse nga projekti tflite-tools (të pranishëm në pemën burimore të Qualcomm TFLite SDK) ofrojnë funksione ndihmëse për të vendosur mjedisin e guaskës, i cili mund të përdoret për rrjedhën e punës Qualcomm TFLite SDK.
Zhvilluesi ndërton projektet Qualcomm TFLite SDK brenda kontejnerit dhe gjeneron objekte duke përdorur shërbimet e ofruara nga tflite-tools.
Pasi të ndërtohet një kontejner Qualcomm TFLite SDK, zhvilluesi mund të lidhet me kontejnerin dhe të përdorë shërbimet ndihmëse në mjedisin e guaskës së kontejnerit për zhvillim të vazhdueshëm.

  • Ekziston një dispozitë për të instaluar artefaktet Qualcomm TFLite SDK në një pajisje Qualcomm të lidhur me hostin Linux nëpërmjet USB/adb.
  • Ekziston gjithashtu një dispozitë për të kopjuar artefaktet Qualcomm TFLite SDK nga kontejneri në një makinë tjetër pritës ku është lidhur pajisja Qualcomm.
    Lidhja

Figura e mëposhtme liston grupin e shërbimeve të disponueshme pas konfigurimit të mjedisit të ndërtimit të kontejnerëve duke përdorur skriptet ndihmëse për ndërtimin e Qualcomm TFLite SDK.
Lidhja

Figura tregon sekuencën e ekzekutimit të shërbimeve:
Figura 4-3 Sekuenca e shërbimeve në host
Lidhja

Sinkronizoni dhe ndërtoni Qualcomm TFLite SDK
Qualcomm TFLite SDK përpilohet kur krijohet imazhi i dokerit. Për të sinkronizuar dhe ndërtuar Qualcomm TFLite SDK, bëni sa më poshtë:

  1. Krijo një direktori në host file sistem për të sinkronizuar hapësirën e punës Qualcomm TFLite SDK. Për
    exampe: $mkdir $cd
  2. Merrni kodin burimor të Qualcomm TFLite SDK nga 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 lëshimi && sinkronizimi i repove -qc –no-tags -j
  3. Krijo një direktori në host file sistem që mund të montohet në doker. Për shembullample: mkdir-p / Kjo direktori mund të krijohet kudo në kompjuterin pritës Linux dhe nuk varet nga vendi ku sinkronizohet projekti Qualcomm TFLite SDK. Pasi të përfundojë rrjedha e punës brenda kontejnerit, artefaktet e Qualcomm TFLite SDK mund të gjenden në drejtorinë e krijuar në këtë hap.
  4. Ndryshoni konfigurimin JSON file i pranishëm në /tflite-tools/ targets/le-tflite-tools-builder.json me hyrjet e mëposhtme:
    "Image": "tflite-tools-builder", "Device_OS": "le", "Additional_tag": "", "TFLite_Version": "2.11.1", "Delegatët": { "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": "", "Baze_Dir_Location": "" }
    Për më shumë informacion mbi hyrjet e përmendura në konfigurimin json file, shikoni Docker.md readme file në /tflite-tools/.
    SHËNIM Për QCS8550, delegati Qualcomm® Hexagon™ DSP nuk mbështetet.
  5. Burimi i skriptit për të konfiguruar mjedisin:
    $ cd /tflite-tools $ burim ./scripts/host/docker_env_setup.sh
  6.  Ndërtoni imazhin e dokerit të Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Nëse konfigurimi i ndërtimit dështon, shihni Zgjidhja e problemeve konfigurimin e dokerit. Pas përfundimit të suksesshëm, shfaqet mesazhi i mëposhtëm: "Statusi: Ndërtimi i imazhit përfundoi me sukses!!" Ekzekutimi i këtij hapi ndërton gjithashtu Qualcomm TFLite SDK.
  7.  Drejtoni kontejnerin e dokerit të Qualcomm TFLite SDK. Kjo fillon kontejnerin me tags dhënë në konfigurimin JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Bashkangjisni në enë të filluar nga hapi i mëparshëm.
    $ docker bashkëngjitni

Qualcomm TFLite SDK është përpiluar dhe artefaktet janë gati për t'u vendosur ose më tej mund të vendosen
përdoret për të gjeneruar shtesën QIM SDK TFLite.

Lidhni pajisjen me hostin dhe vendosni objekte]

Pas përpilimit, ekzistojnë dy mekanizma për të lidhur pajisjen me një host dhe për të vendosur atë
Artefakte Qualcomm TFLite SDK.

  • Pajisja e lidhur me një host lokal Linux:
    Një zhvillues lidh pajisjen me një stacion pune dhe instalon artefaktet Qualcomm TFLite SDK nga kontejneri direkt në pajisje (QCS8550).
  • Pajisja e lidhur me një host në distancë:
    Një zhvillues e lidh pajisjen me një stacion pune në distancë dhe ata mund të përdorin komandat e instaluesit të menaxherit të paketës në platformat Windows dhe Linux për të instaluar artifaktet Qualcomm TFLite SDK në pajisje (QCS8550)

Figura 4-4 Lidhja e tabelës së pajisjes me zhvilluesin dhe stacionin e punës në distancë
Lidhja

Lidhni pajisjen me stacionin e punës

Pajisja është e lidhur me stacionin e punës dhe kontejneri i zhvillimit mund të aksesojë pajisjen përmes USB/adb.
Figura tregon stagështë në sekuencën e rrjedhës së punës Qualcomm TFLite SDK:
Lidhja

  1. Ekzekutoni komandat e mëposhtme për të instaluar artefaktet në pajisje:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. Për të çinstaluar artefaktet, ekzekutoni komandën e mëposhtme:
    $ tflite-tools-device-packages-remove

Lidhni pajisjen me makinën në distancë

Pajisja është e lidhur me një makinë në distancë dhe kontejneri Qualcomm TFLite SDK nuk mund të hyjë në pajisje nëpërmjet USB/ad b.
Figura tregon stagështë në sekuencën e rrjedhës së punës Qualcomm TFLite SDK:
Lidhja

Ekzekutoni komandat e mëposhtme në kontejnerin tflite-tools për të kopjuar artifaktet në një makinë të largët
në varësi të menaxherit të paketës në pajisje:
$ tflite-tools-remote-sync-ipk-rel-pkg
SHËNIM Informacioni i makinës në distancë jepet në konfigurimin JSON file.
Instaloni objekte për platformën Windows
Artifaktet Qualcomm TFLite SDK mund të instalohen në pajisje bazuar në sistemin operativ të makinës në distancë.

Për platformën Windows, bëni sa më poshtë:
Në PowerShell, përdorni skriptin e mëposhtëm: PS C:
> adb root PS C:> adb disable-verity PS C:> adb reboot PS C:> adb prite-for-device PS C:> adb root PS C:> adb rimont PS C:> adb shell monunt -o rimont, rw / PS C:> guaskë adb "mkdir -p /tmp" PS C:> adb push /tmp Nëse paketa është një ipk (për QCS8550.LE.1.0), përdorni komandat e mëposhtme: PS C:> guaskë adb " opkg –force-varet –force-reinstall –forco-overwrite install /tmp/”

Instaloni objekte për platformën Linux
Përdorni komandat e mëposhtme:
$ adb root $ adb disable-verity $ adb reboot $ adb pritje-për-pajisje $ rrënjë adb $ rimontim adb $ montim i guaskës adb -o rimontim,rw / $ guaskë adb “mkdir -p /tmp” $ shtytje adb /tmp Nëse paketa është një ipk (për QCS8550.LE.1.0): $ guaska adb “opkg –force-varet –force-reinstall –force-overwrite install /tmp/”

Pastroni imazhin e dokerit
Pas përfundimit të rrjedhës së punës së zhvilluesit, mjedisi i dokerit duhet të pastrohet për të liruar hapësirën ruajtëse në disk. Pastrimi i dokerit heq kontejnerët dhe imazhet e papërdorura, duke liruar kështu hapësirën e diskut.
Përdorni komandat e mëposhtme për të pastruar imazhin e dokerit:

  1. Ekzekutoni komandën e mëposhtme në stacionin e punës Linux:
    $ cd /tflite-tools
  2. Ndaloni enën:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Hiqeni enën:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Hiqni imazhet më të vjetra të dokerit:
    $ tflite-tools-host-images-cleanup

Zgjidhja e problemeve me konfigurimin e dokerit

Nëse komanda tflite-tools-host-build-image kthen një mesazh Nospace të mbetur në pajisje, atëherë zhvendoseni direktorinë docker në/local/mnt. Bëni sa më poshtë për të zgjidhur problemet e konfigurimit:

  1. Bëni kopje rezervë të dokerit ekzistues files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(data + %s).tar.gz
  2. Ndaloni dokerin:
    $ ndalesa e dokerit të shërbimit
  3. Verifikoni që asnjë proces docker nuk po funksionon:
    $ ps faux | grep docker
  4. Kontrolloni strukturën e drejtorisë docker:
    $ sudo ls /var/lib/docker/
  5. Zhvendosni direktorinë docker në një ndarje të re:
    $ mv /var/lib/docker /local/mnt/docker
  6. Krijoni një lidhje simbolike në direktorinë docker në ndarjen e re:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Sigurohuni që struktura e drejtorisë docker të mbetet e pandryshuar:
    $ sudo ls /var/lib/docker/
  8. Filloni docker:
    $ fillimi i dokerit të shërbimit
  9. Rinisni të gjithë kontejnerët pasi të keni lëvizur direktorinë docker.

Gjeneroni TFLite SDK me stacionin e punës Linux

Rrjedha e punës TFLite SDK mund të aktivizohet pa kontejnerë duke përdorur stacionin e punës Linux. Kjo procedurë është një alternativë për përdorimin e kontejnerëve.
Për të sinkronizuar dhe ndërtuar Qualcomm TFLite SDK, bëni sa më poshtë:

  1. Krijo një direktori në host file sistem për të sinkronizuar hapësirën e punës Qualcomm TFLite SDK. Për shembullampe:
    $mkdir
    $cd
  2. Merrni kodin burimor të Qualcomm TFLite SDK nga 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 lëshimi && sinkronizimi i repove -qc –no-tags -j8 && repo sinkronizimi -qc –jo-tags -j8
  3. 3. Ndryshoni konfigurimin JSON file i pranishëm në /tflite-tools/ targets/le-tflite-tools-builder.json me hyrjet e mëposhtme
    "Image": "tflite-tools-builder", "Device_OS": "le", "Additional_tag": "", "TFLite_Version": "2.11.1", "Delegatët": { "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": "", "Baza_Dir_Vendndodhja": ""
    Për më shumë informacion mbi hyrjet e përmendura në konfigurimin json file, shikoni Docker.md readme file në /tflite-tools/.
    SHËNIM Për QCS8550, delegati gjashtëkëndor DSP nuk mbështetet
  4. Burimi i skriptit për të konfiguruar mjedisin:
    $ cd /tflite-tools
    burimi i $ ./scripts/host/host_env_setup.sh
  5. Ndërtoni Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Ekzekutoni komandat e mëposhtme të shërbimeve në të njëjtën guaskë Linux për të mbledhur artifaktet TFLite SDK nga 
    TFLite_rsync_destinacioni.
    $ 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. Instaloni objekte bazuar në sistemin operativ
    • Për platformën Windows, në PowerShell, përdorni skriptin e mëposhtëm
      PS C:> adb root PS C:> adb disable-verity PS C:> adb riboot PS C:> adb prite-for-device PS C:> adb root PS C:> adb rimont PS C:> montimi i guaskës adb - o rimontoj,rw / PS C:> guaskë adb “mkdir -p /tmp” PS C:> adb push /tmp
      Nëse paketa është një ipk (për QCS8550.LE.1.0), përdorni komandat e mëposhtme:
      PS C:> guaskë adb “opkg –force-varet –force-reinstall –forceoverwrite install /tmp/
      Për platformën Linux, përdorni skriptin e mëposhtëm:
      $ adb root $ adb disable-verity $ adb reboot $ adb pritje-për-pajisje $ rrënjë adb $ montim adb $ montim i guaskës adb -o rimontim,rw / $ guaskë adb “mkdir -p /tmp” $ shtytje adb /tmp Nëse paketa është ipk (për QCS8550.LE.1.0):
      guaskë adb $ “opkg –force-varet –force-reinstall –force-overwrite install /tmp/”

Gjeneroni artefakte Qualcomm TFLite SDK për ndërtimin e QIM SDK

Për të përdorur artefaktet e krijuara për të aktivizuar shtesën Qualcomm TFLite SDK GStreamer në QIM SDK, bëni sa më poshtë:

  1. Plotësoni procedurën në Sync dhe ndërtoni Qualcomm TFLite SDK dhe më pas ekzekutoni komandën e mëposhtme: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Një katran file është gjeneruar. Ai përmban Qualcomm TFLite SDK në shtegun e dhënë në "TFLite_rsync_destination"
  2. Për të aktivizuar shtesën Qualcomm TFLite SDK GStreamer, përdorni tar file si argument në konfigurimin JSON file për ndërtimin e QIM SDK.
    Për informacion mbi përpilimin e QIM SDK, shihni Udhëzuesin e fillimit të shpejtë të Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).

Ndërtoni Qualcomm TFLite SDK gradualisht

Nëse po ndërtoni Qualcomm TFLite SDK për herë të parë, shihni Ndërtoni veglat e Qualcomm TFLite SDK - rrjedha e punës e zhvilluesit. I njëjti mjedis ndërtimi mund të ripërdoret për zhvillim në rritje.
Shërbimet ndihmëse (brenda kontejnerit) të përmendura në figurë janë në dispozicion të zhvilluesve për të përpiluar aplikacione dhe shtojca të modifikuara.
Figura 5-1 Rrjedha e punës në një enë

Lidhja

Pasi të përfundojnë ndryshimet e kodit në drejtorinë e kodit, bëni sa më poshtë:

  1. Përpiloni kodin e modifikuar:
    $ tflite-tools-incremental-build-install
  2. Kodi i përpiluar i paketës:
    $ tflite-tools-ipk-rel-pkg ose $ tflite-tools-deb-rel-pkg
  3. Sinkronizoni paketat e lëshimit me hostin file sistemi:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Përgatitni një paketë zhvilluese:
    $ tflite-tools-ipk-dev-pkg
    Artifaktet e përpiluara gjenden në dosjen TFLite_rsync_destination të përmendur në JSON file, i cili mund të kopjohet në çdo drejtori.

Punoni me delegatin e jashtëm të QNN TFLite

Një delegat i jashtëm TFLite ju lejon të ekzekutoni modelet tuaja (pjesë ose të plota) në një ekzekutues tjetër duke përdorur bibliotekat e ofruara nga një palë e tretë e besuar si QNN nga Qualcomm. Ky mekanizëm mund të përdorë një sërë përshpejtuesish në pajisje si GPU ose Procesori Tensor Gjashtëkëndësh (HTP) për përfundime. Kjo u siguron zhvilluesve një metodë fleksibël dhe të shkëputur nga TFLite e paracaktuar për të shpejtuar përfundimin.

Kushtet paraprake:

  • Sigurohuni që të përdorni një stacion pune Ubuntu për të nxjerrë pirgun e QNN AI.
  • Sigurohuni që të përdorni një version QNN 2.14 për të qenë në lidhje me Qualcomm TFLite SDK

Qualcomm TFLite SDK është i aktivizuar për të ekzekutuar konkluzione në disa pjesë të pasme të QNN përmes Delegatit të jashtëm TFLite për QNN. Modelet TFLite me një përfaqësim të përbashkët flatbuffer mund të ekzekutohen në GPU dhe HTP.
Pasi të instalohen paketat Qualcomm TFLite SDK në pajisje, bëni sa më poshtë për të instaluar bibliotekat QNN në pajisje.

  1. Shkarkoni Qualcomm Package Manager 3 për Ubuntu.
    a. Kliko https://qpm.qualcomm.com/, dhe klikoni Tools.
    b. Në panelin e majtë, në fushën "Mjetet e kërkimit", shkruani QPM. Nga lista e Sistemit OS, zgjidhni Linux.
    Rezultatet e kërkimit shfaqin një listë të menaxherëve të paketave të Qualcomm.
    c. Zgjidhni Qualcomm Package Manager 3 dhe shkarkoni paketën Linux debian.
  2. Instaloni Qualcomm Package Manager 3 për Linux. Përdorni komandën e mëposhtme:
    $ dpkg -i –forco-overwrite /rruga/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Shkarkoni Qualcomm®
    AI Engine Direct SDK në stacionin e punës të Ubuntu.
    a. Kliko https://qpm.qualcomm.com/ dhe klikoni Tools.
    b. Në panelin e majtë, në fushën "Mjetet e kërkimit", shkruani rafte AI. Nga lista e Sistemit OS, zgjidhni Linux.
    A Shfaqet lista rënëse që përmban motorë të ndryshëm të grupit të AI.
    c. Klikoni Qualcomm® AI Engine Direct SDK dhe shkarkoni paketën Linux v2.14.0.
  4. Instaloni Qualcomm® AI Engine Direct SDK në stacionin e punës të Ubuntu.
    a. Aktivizoni licencën:
    qpm-cli –license-aktivizo qualcomm_ai_engine_direct
    b Instaloni SDK të AI Engine Direct:
    $ qpm-cli –ekstrakt /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Shtyni bibliotekat në pajisje nga stacioni i punës i Ubuntu me shtytje adb.
    $ 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/un libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned. kështu /usr/lib/rfsa/adsp

Testoni Qualcomm TFLite SDK

Qualcomm TFLite SDK ofron disa p.shampaplikacionet, të cilat mund të përdoren për të vërtetuar, krahasuar dhe për të marrë saktësinë e modeleve që një zhvillues dëshiron të vlerësojë.
Pasi të instalohen paketat Qualcomm TFLite SDK në pajisje, koha e funksionimit është e disponueshme në pajisje për të ekzekutuar këto ishampaplikacionet.
Kusht paraprak
Krijoni drejtoritë e mëposhtme në pajisje:
guaska $ adb "mkdir /data/Models"
guaskë $ adb "mkdir /data/Lables"
guaskë $ adb "mkdir /data/profiling"

Imazhi i etiketës

Një imazh i etiketës është një mjet i ofruar nga Qualcomm TFLite SDK që tregon se si mund të ngarkoni një model TensorFlow Lite të paratrajnuar dhe të konvertuar dhe ta përdorni atë për të njohur objektet në imazhe. Kushtet paraprake:
Shkarko sampmodeli dhe imazhi:
Mund të përdorni çdo model të përputhshëm, por modeli i mëposhtëm MobileNet v1 ofron një demonstrim të mirë të një modeli të trajnuar për të njohur 1000 objekte të ndryshme.

  • Merr modelin
    $ 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/
  • Merrni etiketat
    $ 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/
    Pasi të lidheni me kontejnerin e dokerit të Qualcomm TFLite SDK, imazhi mund të gjendet në:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Shtyjeni këtë file te/të dhënat/Etiketat/
    b. Ekzekutoni komandën:
    guaska $ adb “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”

Standardi

Qualcomm TFLite SDK ofron mjetin e krahasimit për të llogaritur performancën e kohërave të ndryshme të ekzekutimit.
Këto mjete standarde aktualisht matin dhe llogaritin statistikat për metrikat e mëposhtme të rëndësishme të performancës:

  • Koha e inicizimit
  • Koha e konkluzionit të gjendjes së ngrohjes
  • Koha e konkluzionit të gjendjes së qëndrueshme
  • Përdorimi i memories gjatë kohës së inicializimit
  • Përdorimi i përgjithshëm i kujtesës

Parakushtet

Shtyni modelet që do të testohen nga TFLite Model Zoo (https://tfhub.dev/) te/data/Models/. Drejtoni skriptet e mëposhtme:  

  • Paketa XNN
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/të dhënat/profilimi/”
  • Delegat i GPU
    $ 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=/të dhënat/profilimi/”
  • Delegat i jashtëm
    GPU i deleguar i jashtëm i QNN:
    Ekzekutoni përfundimin me modelin me pikë lundruese:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnskelibrflusary. /adsp'"
    HTP i deleguar i jashtëm i QNN:
    Ekzekutoni konkluzionet me modelin sasior:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnskelb. /adsp'"

Mjet i saktësisë

Qualcomm TFLite SDK ofron një mjet saktësie për të llogaritur saktësinë e modeleve me kohë të ndryshme ekzekutimi.

  • Klasifikimi me delegat GPU
    Hapat për të shkarkuar të nevojshme files për të testuar mund të gjenden në: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Binar për ekzekutimin e këtij mjeti është tashmë pjesë e SDK-së, kështu që zhvilluesi nuk ka nevojë ta ndërtojë atë përsëri.
    $ 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”
  • Zbulimi i objekteve me paketën XNN
    guaska $ adb “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac

INFORMACION LIGJOR

Qasja juaj dhe përdorimi i këtij dokumenti, së bashku me çdo specifikim, tabelë referimi files, vizatimet, diagnostifikimi dhe informacione të tjera të përfshira këtu (së bashku kjo "Dokumentacioni"), është subjekt i juaj (duke përfshirë korporatën ose entitetin tjetër juridik që përfaqësoni, kolektivisht). "Ti" ose "Ti") pranimi i termave dhe kushteve ("Kushtet e përdorimit") të përcaktuara më poshtë. Nëse nuk pajtoheni me këto Kushte Përdorimi, nuk mund ta përdorni këtë Dokumentacion dhe do të shkatërroni menjëherë çdo kopje të tij.

  1. Njoftim Ligjor.
    Ky dokumentacion ju vihet në dispozicion vetëm për përdorimin tuaj të brendshëm me ato produkte dhe oferta shërbimesh të Qualcomm Technologies, Inc. ("Qualcomm Technologies") dhe filialeve të tij të përshkruara në këtë Dokumentacion dhe nuk do të përdoret për asnjë qëllim tjetër. Ky Dokumentacion nuk mund të ndryshohet, modifikohet ose modifikohet në asnjë mënyrë pa miratimin paraprak me shkrim të Qualcomm Technologies. Përdorimi ose zbulimi i paautorizuar i kësaj
    Dokumentacioni ose informacioni i përmbajtur këtu është rreptësisht i ndaluar dhe ju pranoni të dëmshpërbleni Qualcomm Technologies, filialet dhe licencuesit e saj për çdo dëmtim ose humbje të pësuar nga Qualcomm Technologies, filialet e saj dhe licencuesit për çdo përdorim të tillë të paautorizuar ose zbulim të këtij dokumentacioni në tërësi. pjesë. Qualcomm Technologies, filialet e saj dhe licensuesit ruajnë të gjitha të drejtat dhe pronësinë në dhe ndaj këtij Dokumentacioni. Asnjë licencë për asnjë markë tregtare, patentë, të drejtë autori, të drejtë për mbrojtjen e punës me maska ​​ose ndonjë të drejtë tjetër të pronësisë intelektuale nuk jepet ose nënkuptohet nga ky Dokumentacion ose ndonjë informacion i shpalosur këtu, duke përfshirë, por pa u kufizuar në, çdo licencë për të bërë, përdorur, importuar ose të shesë çdo produkt, shërbim ose teknologji që ofron mishërim të ndonjë prej informacioneve në këtë Dokumentacion.
    KY DOKUMENTACION ËSHTË SIGURUAR “SIÇ ËSHTË” PA ASNJË LLOJ GARANCI, TË SHPREHUR, TË LËNKUSHTUAR, LIGJOR APO TË TJETËR. NE SHTESIN MAKSIMAL TË LEJUAR NGA LIGJI, TEKNOLOGJIA E QUALCOMM, FILIATET DHE LICENSORËT E TIJ HEQEN VEÇANTË TË GJITHA GARANCITË E TITULLIT, TREGTUESHMËRISË, SHKELJES SË SHKELJES, SHKELJES SË FITËS , PLOTËSIA OSE SAKTËSIA, DHE TË GJITHA GARANCITË QË RIDHEN NGA PËRDORIMI TREGTAR OSE JASHTË KURSIT TË MARREVESHJES OSE KURSIT TË PERFORMANCËS. Për më tepër, AS TEKNOLOGJIA E QUALCOMM, AS ASNJË NGA FILIATET APO LICENSORËT E TIJ, DO TË JANË PËRGJEGJËS NDAJ JU APO NJË PALË TË TRETË PËR ASNJË SHPENZIM, HUMBJE, PËRDORIM APO TË PAKUFIZUAR KY DOKUMENTACION.
    Disa komplete produktesh, mjete dhe materiale të referuara në këtë Dokumentacion mund të kërkojnë që Ju të pranoni terma dhe kushte shtesë përpara se të përdorni ose përdorni ato artikuj.
    Të dhënat teknike të specifikuara në këtë dokumentacion mund t'i nënshtrohen ligjeve të SHBA-së dhe ligjeve të tjera të zbatueshme për kontrollin e eksportit. Transmetimi në kundërshtim me SHBA-në dhe çdo ligj tjetër në fuqi është rreptësisht i ndaluar.
    Asgjë në këtë Dokumentacion nuk është një ofertë për të shitur ndonjë nga komponentët ose pajisjet e referuara këtu.
    Ky Dokumentacion mund të ndryshojë pa njoftim të mëtejshëm. Në rast të një konflikti midis këtyre Kushteve të Përdorimit dhe WebKushtet e përdorimit të faqes në www.qualcomm.com ose Politika e Privatësisë Qualcomm e referuar në www.qualcomm.com, këto Kushte Përdorimi do të kontrollojnë. Në rast të një konflikti midis këtyre Kushteve të Përdorimit dhe çdo marrëveshjeje tjetër (të shkruar ose klikuar) të ekzekutuar nga ju dhe Qualcomm Technologies ose një filial i Qualcomm Technologies në lidhje me aksesin tuaj në dhe përdorimin e këtij Dokumentacioni, marrëveshja tjetër do të kontrollojë .
    Këto Kushte Përdorimi do të drejtohen dhe interpretohen dhe zbatohen në përputhje me ligjet e Shtetit të Kalifornisë, duke përjashtuar Konventën e OKB-së për shitjen ndërkombëtare të mallrave, pa marrë parasysh parimet e konfliktit të ligjeve. Çdo mosmarrëveshje, pretendim ose mosmarrëveshje që lind ose ka të bëjë me këto Kushte të Përdorimit, ose shkeljen ose vlefshmërinë e tyre, do të gjykohet vetëm nga një gjykatë e juridiksionit kompetent në qarkun e San Diegos, Shtetit të Kalifornisë, dhe ju jepni pëlqimin për juridiksionin personal të gjykatave të tilla për këtë qëllim.
  2. Deklaratat e atribuimit të markës tregtare dhe produktit.
    Qualcomm është një markë tregtare ose markë e regjistruar e Qualcomm Incorporated. Arm është një markë tregtare e regjistruar e Arm Limited (ose filialeve të saj) në SHBA dhe/ose gjetkë. Marka e fjalës Bluetooth® është një markë e regjistruar tregtare në pronësi të Bluetooth SIG, Inc. Emrat e tjerë të produkteve dhe markave të referuara në këtë Dokumentacion mund të jenë marka tregtare ose marka të regjistruara të pronarëve të tyre përkatës.
    Produktet e markës Snapdragon dhe Qualcomm të referuara në këtë Dokumentacion janë produkte të Qualcomm Technologies, Inc. dhe/ose filialeve të saj. Teknologjitë e patentuara të Qualcomm janë të licencuara nga Qualcomm Incorporated.

Logoja e kompanisë

Dokumentet / Burimet

Softueri Qualcomm TensorFlow Lite SDK [pdfUdhëzuesi i përdoruesit
Software TensorFlow Lite SDK, Lite SDK Software, SDK Software, Software

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *