Gwida għall-Utent tas-Software ta' Qualcomm TensorFlow Lite SDK
Logo tal-Kumpanija

Storja tar-reviżjoni

Reviżjoni Data Deskrizzjoni
AA Settembru 2023 Rilaxx inizjali
AB Ottubru 2023

Introduzzjoni għall-għodod Qualcomm TFLite SDK

L-għodod tal-kit tal-iżvilupp tas-softwer Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) jipprovdu l-qafas TensorFlow Lite għall-inferenza tal-intelliġenza artifiċjali (AI) fuq l-apparat, li jiffaċilita lill-iżviluppaturi tal-applikazzjonijiet biex jiżviluppaw jew imexxu applikazzjonijiet AI xierqa.
Dan id-dokument jipprovdi struzzjonijiet pass pass biex tikkompila SDK Qualcomm TFLite standalone u twaqqaf l-ambjent tal-iżvilupp. Dan jippermetti l-fluss tax-xogħol tal-iżviluppatur, li jinkludi:

  • it-twaqqif tal-ambjent tal-bini fejn l-iżviluppatur jista 'jiġbor il-Qualcomm TFLite SDK
  • jiżviluppaw applikazzjonijiet standalone Qualcomm TFLite SDK

Għal appoġġ, ara https://www.qualcomm.com/appoġġ. Il-figura li ġejja tipprovdi sommarju tal-fluss tax-xogħol ta’ Qualcomm TFLite SDK: ”
Figura 1-1 Fluss tax-xogħol ta' Qualcomm TFLite SDK
L-għodda teħtieġ SDK pjattaforma u konfigurazzjoni file (format JSON) biex tiġġenera l-artifacts Qualcomm TFLite SDK.

Biex tibni applikazzjoni minn tarf sa tarf bl-użu ta' sottosistemi multimedjali, AI, u viżjoni tal-kompjuter (CV), ara Gwida ta' Bidu ta' Qasam ta' Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).
It-tabella turi l-immappjar tal-verżjoni ta 'Qualcomm TFLite SDK bir-rilaxx ta' CodeLinaro tag:
Tabella 1-1 Informazzjoni dwar ir-rilaxx
Konnessjoni

Verżjoni Qualcomm TFLite SDK Rilaxx CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tabella 1-2 Verżjonijiet appoġġjati ta' Qualcomm TFLite SDK

Qualcomm Verżjoni TFLite SDK Prodott ta' softwer appoġġjat Verżjoni TFLite appoġġjata
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Referenzi
Tabella 1-3 Dokumenti relatati

Titolu Numru
Qualcomm
00067.1 Nota ta' Rilaxx għal QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide 80-50450-51
Referenza ta' Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Riżorsi
https://source.android.com/docs/setup/start/initializing

Tabella 1-4 Akronimi u definizzjonijiet

Akronimu jew terminu Definizzjoni
AI Intelliġenza artifiċjali
BIOS Sistema bażika ta’ input/output
CV Viżjoni bil-kompjuter
IPK Il-pakkett tiegħu file
QIM SDK Kit ta' żvilupp ta' softwer multimedjali Intelliġenti Qualcomm
SDK Kit ta' żvilupp ta' softwer
TFLite TensorFlow Lite
XNN Xth l-eqreb ġar

Stabbilixxi ambjent tal-bini għall-għodod Qualcomm TFLite SDK

L-għodod Qualcomm TFLite SDK huma rilaxxati f'forma ta 'sors; għalhekk, l-istabbiliment tal-ambjent tal-bini biex jiġi kkumpilat huwa setup obbligatorju iżda ta 'darba.

Prerekwiżiti

  • Kun żgur li għandek sudoaccess għall-magna ospitanti Linux.
  • Kun żgur li l-verżjoni tal-host Linux hija Ubuntu 18.04 jew Ubuntu 20.04.
  • Żid l-arloġġi massimi tal-utent u l-istanzi massimi tal-utent fuq is-sistema ospitanti.
  • Żid il-linji tal-kmand li ġejjin għal/etc/sysctl.confand reboot l-host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Installa pakketti ospitanti meħtieġa

Il-pakketti ospitanti huma installati fuq il-magna ospitanti Linux.
Mexxi l-kmandi biex tinstalla l-pakketti ospitanti: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Għal Ubuntu 18.04 u ogħla:
$ 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
Għal aktar informazzjoni, ara https://source.android.com/docs/setup/start/initializing.

Stabbilixxi l-ambjent docker

Docker hija pjattaforma użata biex tibni, tiżviluppa, tittestja u twassal softwer. Biex tikkompila l-SDK, id-docker għandu jiġi kkonfigurat fuq il-magna ospitanti Linux.
Żgura li l-virtwalizzazzjoni tas-CPU hija attivata fuq il-magna ospitanti Linux. Jekk ma tkunx attivata, agħmel dan li ġej biex tagħmilha mis-settings tal-konfigurazzjoni tas-sistema bażika ta’ input/output (BIOS):

  1. Ippermetti l-virtwalizzazzjoni mill-BIOS:
    a. Agħfas F1 jew F2 meta s-sistema tkun qed tibda biex tidħol fil-BIOS. It-tieqa tal-BIOS hija murija.
    b. Aqleb għat-tab Avvanzata.
    c. Fis-sezzjoni tal-Konfigurazzjoni tas-CPU, issettja t-Teknoloġija tal-Virtwalizzazzjoni fuq Ippermettiet.
    a. Agħfas F12 biex issalva u toħroġ, u mbagħad terġa 'tibda s-sistema.
    Jekk dawn il-passi ma jaħdmux, segwi l-istruzzjonijiet speċifiċi mill-fornitur tas-sistema biex tippermetti l-virtwalizzazzjoni
  2. Neħħi kwalunkwe każ antiki tad-docker:
    $ sudo apt neħħi docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Stabbilixxi r-repożitorju remot tad-docker:
    $ sudo apt-get update $ sudo apt-get install ca-certificates 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) stabbli” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Installa magna docker:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Żid utent mal-grupp docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Reboot is-sistema.

Iġġenera pjattaforma SDK

L-SDK tal-pjattaforma huwa rekwiżit obbligatorju biex jiġu kkompilati l-għodod tal-SDK Qualcomm TFLite. Jipprovdi d-dipendenzi kollha meħtieġa tal-pjattaforma meħtieġa mill-SDK Qualcomm TFLite.
Agħmel dan li ġej biex tiġġenera l-SDK tal-pjattaforma:

  1. Oħloq bini għall-prodott tas-softwer preferut.
    L-istruzzjonijiet biex tinbena l-QCS8550.LE.1.0release huma pprovduti fin-noti tar-rilaxx. Biex taċċessa n-noti tar-rilaxx, ara Referenzi.
    Jekk l-immaġini kienu mibnija qabel, tesegwixxi l-pass 2, u mbagħad oħloq bini nadif.
  2. Mexxi l-kmand li ġej biex tibni l-immaġini tal-ispazju tal-utent u l-SDK tal-pjattaforma:
    Għal QCS8550.LE.1.0, żid il-karatteristika tal-magna qti-tflite-delegate f'MACHINE_FEATURES fil-kalama.conf file u sors l-ambjent tal-bini skont l-istruzzjonijiet min-noti tar-rilaxx.
    Wara li tiġġenera immaġini tal-ispazju tal-utent mill-bini, mexxi l-kmand li ġej biex tiġġenera l-SDK tal-pjattaforma.
    $ bitbake -fc populate_sdk qti-robotics-image

Ibni għodod Qualcomm TFLite SDK - fluss tax-xogħol tal-iżviluppatur

Il-fluss tax-xogħol tal-għodod Qualcomm TFLite SDK jeħtieġ li l-iżviluppatur jipprovdi l-konfigurazzjoni file b'entrati validi ta' input. L-iskripts helper shell mill-proġett tflite-tools (preżenti fis-siġra tas-sors Qualcomm TFLite SDK) jipprovdu funzjonijiet ta 'utilità helper biex jitwaqqaf l-ambjent shell, li jista' jintuża għall-fluss tax-xogħol Qualcomm TFLite SDK.
L-iżviluppatur jibni l-proġetti Qualcomm TFLite SDK fil-kontenitur u jiġġenera l-artifacts billi juża l-utilitajiet ipprovduti minn tflite-tools.
Wara li jinbena kontenitur Qualcomm TFLite SDK, l-iżviluppatur jista 'jwaħħal mal-kontenitur u juża l-utilitajiet helper fl-ambjent tal-qoxra tal-kontenitur għal żvilupp kontinwu.

  • Hemm dispożizzjoni biex jiġu installati l-artifacts Qualcomm TFLite SDK għal apparat Qualcomm konness mal-host Linux permezz ta 'USB/adb.
  • Hemm ukoll dispożizzjoni biex tikkopja l-artifatti Qualcomm TFLite SDK mill-kontenitur għal magna ospitanti differenti fejn l-apparat Qualcomm huwa konness.
    Konnessjoni

Il-figura li ġejja telenka s-sett ta 'utilitajiet disponibbli wara li twaqqaf l-ambjent tal-bini tal-kontejners bl-użu tal-iskripts helper għall-bini ta' Qualcomm TFLite SDK.
Konnessjoni

Il-figura turi s-sekwenza tal-eżekuzzjoni tal-utilitajiet:
Figura 4-3 Sekwenza ta' utilitajiet fuq host
Konnessjoni

Issinkronizza u tibni Qualcomm TFLite SDK
Il-Qualcomm TFLite SDK jiġi kkompilat meta tinħoloq l-immaġni tad-docker. Biex tissinkronizza u tibni l-SDK Qualcomm TFLite, agħmel dan li ġej:

  1. Oħloq direttorju fuq il-host file sistema biex tissinkronizza l-ispazju tax-xogħol tal-Qualcomm TFLite SDK. Għal
    example: $mkdir $cd
  2. Iġbor il-kodiċi tas-sors Qualcomm TFLite SDK minn 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 rilaxx && repo sync -qc –no-tags -j
  3. Oħloq direttorju fuq il-host file sistema li tista’ tiġi mmuntata f’docker. Per example: mkdir-p / Dan id-direttorju jista 'jinħoloq kullimkien fuq il-magna ospitanti Linux, u ma jiddependix minn fejn ikun issinkronizzat il-proġett Qualcomm TFLite SDK. Wara li jitlesta l-fluss tax-xogħol fil-kontenitur, l-artifacts Qualcomm TFLite SDK jistgħu jinstabu fid-direttorju maħluqa f'dan il-pass.
  4. Editja l-konfigurazzjoni JSON file preżenti f'/tflite-tools/ targets/le-tflite-tools-builder.json bl-entrati li ġejjin:
    “Image”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegati”: { “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”: “” }
    Għal aktar informazzjoni dwar l-entrati msemmija fil-konfigurazzjoni json file, ara l-readme Docker.md file fuq /tflite-tools/.
    NOTA Għal QCS8550, id-delegat Qualcomm® Hexagon™ DSP mhuwiex appoġġjat.
  5. Sors l-iskrittura biex twaqqaf l-ambjent:
    $ cd /tflite-tools $ source ./scripts/host/docker_env_setup.sh
  6.  Ibni l-immaġni tad-docker Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Jekk is-setup tal-bini tfalli, ara Issolvi l-problemi tas-setup tad-docker. Wara t-tlestija b'suċċess, jintwera l-messaġġ li ġej: "Status: Ibni l-immaġni tlestiet b'suċċess!!" It-tmexxija ta 'dan il-pass tibni l-SDK Qualcomm TFLite ukoll.
  7.  Mexxi l-kontenitur tad-docker Qualcomm TFLite SDK. Dan jibda l-kontenitur bil- tags ipprovdut fil-konfigurazzjoni JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Waħħal mal-kontenitur beda mill-pass preċedenti.
    $ docker waħħal

Il-Qualcomm TFLite SDK huwa kkompilat, u l-artifatti huma lesti biex jiġu skjerati jew aktar jistgħu jiġu skjerati
użat biex jiġġenera l-plug-in QIM SDK TFLite.

Qabbad it-tagħmir biex jospita u juża artifatti]

Wara l-kumpilazzjoni, hemm żewġ mekkaniżmi biex jgħaqqdu l-apparat ma 'host u tiskjera l
Artifacts Qualcomm TFLite SDK.

  • Apparat konness ma' host Linux lokali:
    Żviluppatur jgħaqqad l-apparat ma 'workstation u jinstalla l-artifacts Qualcomm TFLite SDK mill-kontenitur direttament fuq l-apparat (QCS8550).
  • Apparat konness ma' host remot:
    Żviluppatur jgħaqqad it-tagħmir ma 'stazzjon tax-xogħol remot, u jistgħu jużaw il-kmandi tal-installatur tal-maniġer tal-pakketti fuq pjattaformi Windows u Linux biex jinstallaw l-artifacts Qualcomm TFLite SDK mal-apparat (QCS8550)

Figura 4-4 Konnessjoni tal-bord tal-apparat mal-iżviluppatur u l-istazzjon tax-xogħol remot
Konnessjoni

Qabbad it-tagħmir mal-istazzjon tax-xogħol

L-apparat huwa konness mal-istazzjon tax-xogħol u l-kontenitur tal-iżvilupp jista 'jaċċessa l-apparat fuq USB/adb.
Il-figura turi l-staghuma fis-sekwenza tal-fluss tax-xogħol tal-Qualcomm TFLite SDK:
Konnessjoni

  1. Mexxi l-kmandi li ġejjin biex tinstalla l-artifacts fuq l-apparat:
    $ tflite-għodda-apparat-prepara
    $ tflite-tools-device-deploy
  2. Biex tneħħi l-artifacts, mexxi l-kmand li ġej:
    $ tflite-għodda-apparat-pakketti-tneħħija

Qabbad it-tagħmir mal-magna remota

L-apparat huwa konness ma 'magna remota, u l-kontenitur Qualcomm TFLite SDK ma jistax jaċċessa l-apparat fuq USB/ad b.
Il-figura turi l-staghuma fis-sekwenza tal-fluss tax-xogħol tal-Qualcomm TFLite SDK:
Konnessjoni

Mexxi l-kmandi li ġejjin fil-kontenitur tflite-tools biex tikkopja l-artifacts għal magna remota
skond il-maniġer tal-pakketti fuq l-apparat:
$ tflite-tools-remote-sync-ipk-rel-pkg
NOTA L-informazzjoni tal-magna remota hija pprovduta fil-konfigurazzjoni JSON file.
Installa artifacts għall-pjattaforma tal-Windows
L-artifacts Qualcomm TFLite SDK jistgħu jiġu installati fuq l-apparat ibbażat fuq is-sistema operattiva tal-magna remota.

Għall-pjattaforma Windows, agħmel dan li ġej:
Fuq PowerShell, uża l-iskrittura li ġejja: 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 Jekk il-pakkett huwa ipk (għal QCS8550.LE.1.0), uża l-kmandi li ġejjin: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Installa artifacts għall-pjattaforma Linux
Uża l-kmandi li ġejjin:
$ 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 Jekk il-pakkett huwa ipk (għal QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Naddaf l-immaġni tad-docker
Wara li jitlesta l-fluss tax-xogħol tal-iżviluppatur, l-ambjent tad-docker għandu jitnaddaf biex jillibera l-ħażna fuq id-diska. It-tindif tad-docker ineħħi l-kontenituri u l-immaġini mhux użati, u b'hekk jillibera l-ispazju tad-diska.
Uża l-kmandi li ġejjin biex tnaddaf l-immaġni tad-docker:

  1. Mexxi l-kmand li ġej fuq il-workstation Linux:
    $ cd /tflite-tools
  2. Waqqaf il-kontenitur:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Neħħi l-kontenitur:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Neħħi l-immaġini eqdem tad-docker:
    $ tflite-tools-host-images-cleanup

Issolvi l-problemi tas-setup tad-docker

Jekk il-kmand tflite-tools-host-build-image jirritorna Nospace xellug fuq il-messaġġ tat-tagħmir, imbagħad ċċaqlaq id-direttorju tad-docker għal/local/mnt. Agħmel dan li ġej biex issolvi l-problemi tas-setup:

  1. Agħmel backup tad-docker eżistenti files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(data + %s).tar.gz
  2. Waqqaf id-docker:
    $ service docker waqfien
  3. Ivverifika li l-ebda proċess docker mhu qed jaħdem:
    $ ps faux | docker grep
  4. Iċċekkja l-istruttura tad-direttorju tad-docker:
    $ sudo ls /var/lib/docker/
  5. Mexxi d-direttorju tad-docker għal partizzjoni ġdida:
    $ mv /var/lib/docker /local/mnt/docker
  6. Agħmel symlink għad-direttorju tad-docker fil-partizzjoni l-ġdida:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Kun żgur li l-istruttura tad-direttorju tad-docker tibqa' l-istess:
    $ sudo ls /var/lib/docker/
  8. Ibda docker:
    $ service docker bidu
  9. Ibda mill-ġdid il-kontenituri kollha wara li ċaqlaq id-direttorju tad-docker.

Iġġenera TFLite SDK ma 'workstation Linux

Il-fluss tax-xogħol TFLite SDK jista 'jiġi attivat mingħajr kontenituri bl-użu tal-workstation Linux. Din il-proċedura hija alternattiva għall-użu tal-kontenituri.
Biex tissinkronizza u tibni l-SDK Qualcomm TFLite, agħmel dan li ġej:

  1. Oħloq direttorju fuq il-host file sistema biex tissinkronizza l-ispazju tax-xogħol tal-Qualcomm TFLite SDK. Per example:
    $mkdir
    $cd
  2. Iġbor il-kodiċi tas-sors Qualcomm TFLite SDK minn 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 rilaxx && repo sync -qc –no-tags -j8 && repo sync -qc –no-tags -j8
  3. 3. Editja l-konfigurazzjoni JSON file preżenti fi /tflite-tools/ targets/le-tflite-tools-builder.json bl-entrati li ġejjin
    “Image”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegati”: { “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”: “”
    Għal aktar informazzjoni dwar l-entrati msemmija fil-konfigurazzjoni json file, ara l-readme Docker.md file fi /tflite-tools/.
    NOTA Għal QCS8550, id-delegat tad-DSP Hexagon mhuwiex appoġġjat
  4. Sors l-iskrittura biex twaqqaf l-ambjent:
    $ cd /tflite-tools
    $ sors ./scripts/host/host_env_setup.sh
  5. Ibni l-SDK Qualcomm TFLite.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Mexxi l-kmandi ta 'utilità li ġejjin fl-istess qoxra tal-Linux biex tiġbor l-artifacts TFLite SDK minn 
    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. Installa artifacts ibbażati fuq is-sistema operattiva
    • Għall-pjattaforma Windows, fuq PowerShell, uża l-iskrittura li ġejja
      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
      Jekk il-pakkett huwa ipk (għal QCS8550.LE.1.0), uża l-kmandi li ġejjin:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Għall-pjattaforma Linux, uża l-iskrittura li ġejja:
      $ 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 Jekk il-pakkett huwa ipk (għal QCS8550.LE.1.0):
      $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Iġġenera artifacts Qualcomm TFLite SDK għal QIM SDK build

Biex tuża l-artifacts iġġenerati biex tippermetti l-plug-in Qualcomm TFLite SDK GStreamer f'QIM SDK, agħmel dan li ġej:

  1. Imla l-proċedura f'Sync u ibni Qualcomm TFLite SDK, u mbagħad ħaddem il-kmand li ġej: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    A qatran file hija ġġenerata. Fih il-Qualcomm TFLite SDK fil-mogħdija pprovduta fi “TFLite_rsync_destination”
  2. Biex tippermetti l-plug-in Qualcomm TFLite SDK GStreamer, uża l-qatran file bħala argument fil-konfigurazzjoni JSON file għall-bini QIM SDK.
    Għal informazzjoni dwar il-kompilazzjoni tal-QIM SDK, ara l-Gwida tal-Bidu Quick tal-Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).

Ibni Qualcomm TFLite SDK b'mod inkrementali

Jekk qed tibni l-Qualcomm TFLite SDK għall-ewwel darba, ara Ibni l-għodod Qualcomm TFLite SDK - fluss tax-xogħol tal-iżviluppatur. L-istess ambjent tal-bini jista 'jerġa' jintuża għal żvilupp inkrementali.
L-utilitajiet helper (fi ħdan il-kontenitur) imsemmija fil-figura huma disponibbli għall-iżviluppaturi biex jiġbru applikazzjonijiet u plug-ins modifikati.
Figura 5-1 Fluss tax-xogħol f'kontenitur

Konnessjoni

Wara li l-bidliet fil-kodiċi jitlestew fid-direttorju tal-kodiċi, agħmel dan li ġej:

  1. Ikkompila kodiċi modifikat:
    $ tflite-tools-incremental-build-install
  2. Kodiċi miġbur tal-pakkett:
    $ tflite-tools-ipk-rel-pkg jew $ tflite-tools-deb-rel-pkg
  3. Issinkronizza l-pakketti tar-rilaxx mal-host file sistema:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Ipprepara pakkett dev:
    $ tflite-tools-ipk-dev-pkg
    L-artifatti kkompilati jinsabu fil-folder TFLite_rsync_destination imsemmi fil-JSON file, li jistgħu jiġu kkupjati fi kwalunkwe direttorju.

Aħdem mad-Delegat TFLite estern QNN

Delegat Estern TFLite jippermettilek li tmexxi l-mudelli tiegħek (parti jew sħaħ) fuq esekutur ieħor billi tuża libreriji pprovduti minn parti terza fdata bħal QNN minn Qualcomm. Dan il-mekkaniżmu jista 'jinfluwenza varjetà ta' aċċeleraturi fuq l-apparat bħall-GPU jew Hexagon Tensor Processor (HTP) għall-inferenza. Dan jipprovdi lill-iżviluppaturi metodu flessibbli u diżakkoppjat mit-TFLite default biex iħaffu l-inferenza.

Prerekwiżiti:

  • Kun żgur li tuża workstation Ubuntu biex tiġbed QNN AI stack.
  • Kun żgur li tuża QNN verżjoni 2.14 biex tkun flimkien ma' Qualcomm TFLite SDK

Il-Qualcomm TFLite SDK huwa ppermettiet li jmexxi inferenzi fuq diversi back-ends QNN permezz ta' Delegat estern TFLite għal QNN. Il-mudelli TFLite b'rappreżentazzjoni tal-flatbuffer komuni jistgħu jitħaddmu fuq GPU u HTP.
Wara li l-pakketti Qualcomm TFLite SDK jiġu installati fuq l-apparat, agħmel dan li ġej biex tinstalla l-libreriji QNN fuq it-tagħmir.

  1. Niżżel Qualcomm Package Manager 3 għal Ubuntu.
    a. Ikklikkja https://qpm.qualcomm.com/, u kklikkja Għodda.
    b. Fil-pannell tax-xellug, fil-qasam Għodod ta 'Tiftix, ittajpja QPM. Mil-lista tas-Sistema OS, agħżel Linux.
    Ir-riżultati tat-tfittxija juru lista ta' Maniġers tal-Pakketti Qualcomm.
    c. Agħżel Qualcomm Package Manager 3 u niżżel il-pakkett Linux debian.
  2. Installa Qualcomm Package Manager 3 għal Linux. Uża l-kmand li ġej:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Niżżel il-Qualcomm®
    AI Engine Direct SDK fuq il-workstation Ubuntu.
    a. Ikklikkja https://qpm.qualcomm.com/ u kklikkja Għodda.
    b. Fil-pannell tax-xellug, fil-qasam Għodod ta 'Tiftix, ittajpja AI stack. Mil-lista tas-Sistema OS, agħżel Linux.
    A tintwera lista drop-down li fiha diversi magni stack AI.
    c. Ikklikkja Qualcomm® AI Engine Direct SDK u niżżel il-pakkett Linux v2.14.0.
  4. Installa Qualcomm® AI Engine Direct SDK fuq il-workstation Ubuntu.
    a. Attiva l-liċenzja:
    qpm-cli –license-activate qualcomm_ai_engine_direct
    b Installa AI Engine Direct SDK:
    $ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Imbotta l-libreriji għall-apparat mill-istazzjon tax-xogħol Ubuntu b'adb push.
    $ 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/V libQ73nSkeltp. hekk /usr/lib/rfsa/adsp

Test Qualcomm TFLite SDK

Il-Qualcomm TFLite SDK jipprovdi ċerti example applikazzjonijiet, li jistgħu jintużaw biex jivvalidaw, benchmark, u jiksbu l-eżattezza tal-mudelli li żviluppatur irid jivvaluta.
Wara li l-pakketti Qualcomm TFLite SDK jiġu installati fuq it-tagħmir, ir-runtime huwa disponibbli fuq l-apparat biex imexxi dawn l-example applikazzjonijiet.
Prerekwiżit
Oħloq id-direttorji li ġejjin fuq l-apparat:
$ adb shell “mkdir /data/Mudelli”
$ adb shell “mkdir /data/Lables”
$ adb shell “mkdir /data/profiling”

Immaġni tat-tikketta

Immaġini ta 'tikketta hija utilità pprovduta mill-SDK Qualcomm TFLite li turi kif tista' tagħbija mudell TensorFlow Lite imħarreġ minn qabel u kkonvertit u tużah biex tagħraf oġġetti f'immaġini. Prerekwiżiti:
Niżżel sampil-mudell u l-immaġni:
Tista' tuża kwalunkwe mudell kompatibbli, iżda l-mudell MobileNet v1 li ġej joffri turija tajba ta' mudell imħarreġ biex jagħraf 1000 oġġett differenti.

  • Ikseb mudell
    $ ċurl 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/Mudelli/
  • Ikseb tikketti
    $ ċurl 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/
    Wara li tikkonnettja mal-kontenitur tad-docker Qualcomm TFLite SDK, l-immaġni tista 'tinstab fuq:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Imbotta dan file lil/data/Tikketti/
    b. Mexxi l-kmand:
    $ 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

Il-Qualcomm TFLite SDK jipprovdi l-għodda ta 'benchmarking biex tikkalkula l-prestazzjoni ta' diversi ħinijiet ta 'run.
Dawn l-għodod ta' referenza bħalissa jkejlu u jikkalkulaw l-istatistika għall-metriċi ta' prestazzjoni importanti li ġejjin:

  • Ħin tal-inizjalizzazzjoni
  • Ħin ta 'inferenza tal-istat ta' tisħin
  • Ħin ta' inferenza ta' stat fiss
  • Użu tal-memorja waqt il-ħin tal-inizjalizzazzjoni
  • Użu ġenerali tal-memorja

Prerekwiżiti

Imbotta l-mudelli li għandhom jiġu ttestjati minn TFLite Model Zoo (https://tfhub.dev/) lil/data/Mudelli/. Mexxi l- skripts li ġejjin:  

  • XNN Pakkett
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/data/profiling/”
  • Delegat tal-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=/data/profiling/”
  • Delegat Estern
    QNN Delegat Estern GPU:
    Mexxi l-inferenza b'mudell b'punt li jvarja:
    $ 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/rflbrary/libQnnGpu.so; /adsp'”
    QNN Delegat Estern HTP:
    Mexxi l-inferenza mal-mudell kwant:
    $ 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/libQnnHtp.so/skel/skelrfbrary_ /adsp'”

Għodda ta 'preċiżjoni

Il-Qualcomm TFLite SDK jipprovdi għodda ta 'preċiżjoni biex tikkalkula l-eżattezza tal-mudelli b'diversi ħinijiet ta' tħaddim.

  • Klassifikazzjoni b'delegat tal-GPU
    Il-passi biex tniżżel dak meħtieġ files biex jiġu ttestjati jistgħu jinstabu fuq: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Il-binarju għat-tħaddim ta 'din l-għodda huwa diġà parti mill-SDK, għalhekk l-iżviluppatur m'għandux għalfejn jibniha mill-ġdid.
    $ adb shell “image_classify_run_eval — model_file=/data/Mudelli/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu”
  • Sejbien ta' oġġetti b'pakkett XNN
    $ adb shell “inf_diff_run_eval – model_file=/data/Mudelli/ –delegate=xnnpac

INFORMAZZJONI LEGALI

L-aċċess tiegħek għal u l-użu ta' dan id-dokument, flimkien ma' kwalunkwe speċifikazzjonijiet, bord ta' referenza files, tpinġijiet, dijanjostiċi u informazzjoni oħra li tinsab hawnhekk (kollettivament dan “Dokumentazzjoni”), hija soġġetta għal tiegħek (inkluża l-korporazzjoni jew entità legali oħra li tirrappreżenta, kollettivament “Int” jew “Tiegħek”) aċċettazzjoni tat-termini u l-kundizzjonijiet (“Termini ta’ Użu”) stabbiliti hawn taħt. Jekk ma taqbilx ma' dawn it-Termini ta' Użu, ma tistax tuża din id-Dokumentazzjoni u għandha immedjatament teqred kwalunkwe kopja tagħha.

  1. Avviż Legali.
    Din id-Dokumentazzjoni qed issir disponibbli lilek biss għall-użu intern Tiegħek ma’ dawk il-prodotti u l-offerti ta’ servizzi ta’ Qualcomm Technologies, Inc. (“Qualcomm Technologies”) u l-affiljati tagħha deskritti f’din id-Dokumentazzjoni, u m’għandhiex tintuża għal xi skopijiet oħra. Din id-Dokumentazzjoni ma tistax tiġi mibdula, editjata jew immodifikata bl-ebda mod mingħajr l-approvazzjoni bil-miktub minn qabel ta' Qualcomm Technologies. Użu jew żvelar mhux awtorizzat ta 'dan
    Id-dokumentazzjoni jew l-informazzjoni li tinsab hawnhekk hija strettament ipprojbita, u Inti taqbel li tindennizza Qualcomm Technologies, l-affiljati u l-liċenzjaturi tagħha għal kwalunkwe ħsara jew telf imġarrab minn Qualcomm Technologies, l-affiljati tagħha u l-liċenzjaturi għal kwalunkwe użu jew żvelar mhux awtorizzat bħal dan ta’ din id-Dokumentazzjoni, b’mod sħiħ jew parti. Qualcomm Technologies, l-affiljati u l-konċedenti tagħha jżommu d-drittijiet u s-sjieda kollha fi u għal din id-Dokumentazzjoni. L-ebda liċenzja għal kwalunkwe trademark, privattiva, awtur, dritt ta’ protezzjoni tax-xogħol tal-maskra jew kwalunkwe dritt ieħor ta’ proprjetà intellettwali ma hija mogħtija jew impliċita minn din id-Dokumentazzjoni jew kwalunkwe informazzjoni żvelata hawnhekk, inkluż, iżda mhux limitat għal, kwalunkwe liċenzja biex tagħmel, tuża, timporta jew ibigħ kwalunkwe prodott, servizz jew offerta ta' teknoloġija li tinkorpora kwalunkwe informazzjoni f'din id-Dokumentazzjoni.
    DIN ID-DOKUMENTAZZJONI QED TIĠI PROVVduta “KIF INHI” MINGĦAJR GARANZIJA TA’ KULL TIP, KEMM ESPRESSA, IMPLIKATA, STATUTA JEW MOD IEĦOR. SAL-MESSA MASSIMA PERMESSA MILL-LIĠI, QUALCOMM TECHNOLOGIES, L-AFFILJATI TAGĦHA U L-LIĊENZURI TAGĦHA JIĊĦADDU B’MOD SPEĊIFIKALI MILL-GARANZIJI KOLLHA TA’ TITOLU, KUMMERĊJABILITÀ, NUQQAS TA’ KISUR, ADATTAZZJONI GĦAL GĦAN PARTIKOLARI, SODDISFATTIVITÀ U KWALITÀ TAL-KUMMPATTITÀ, KWALITÀ TA’ KOMPATTIBILITÀ U KWALITÀ. LI JIRRIĦAW MILL-UŻU TAL-KUMMERĊ JEW MINN KORS TA' TRATTAMENT JEW KORS TA' PRESTAZZJONI. Barra minn hekk, LA QUALCOMM TECHNOLOGIES, LANQAS L-AFFILJATI JEW IL-LIĊENZURI TAGĦHA, MA GĦANDHOM IKUNU RESPONSABLI LEJK JEW XI PARTI TERZA GĦAL KWALUNKWE SPEJJEŻ, TELF, UŻU, JEW AZZJONIJIET IKUN KUNKOLL MINNEK JEW IMSEDUTI MINNK B'DIRIKWENZA FUQ.
    Ċerti kits tal-prodott, għodod u materjali referenzjati f'din id-Dokumentazzjoni jistgħu jeħtieġu li Taċċetta termini u kundizzjonijiet addizzjonali qabel ma taċċessa jew tuża dawk l-oġġetti.
    Id-dejta teknika speċifikata f'din id-Dokumentazzjoni tista' tkun soġġetta għal-liġijiet ta' kontroll tal-esportazzjoni tal-Istati Uniti u oħrajn applikabbli. It-trażmissjoni li tmur kontra l-Istati Uniti u kwalunkwe liġi applikabbli oħra hija strettament ipprojbita.
    Xejn f'din id-Dokumentazzjoni mhu offerta biex jinbiegħ xi wieħed mill-komponenti jew tagħmir imsemmi hawn.
    Din id-Dokumentazzjoni hija soġġetta għal bidla mingħajr aktar notifika. Fil-każ ta’ kunflitt bejn dawn it-Termini ta’ Użu u l- WebTermini ta 'Użu tas-sit fuq www.qualcomm.com jew il-Politika ta' Privatezza ta' Qualcomm li ssir referenza għaliha www.qualcomm.com, dawn it-Termini ta 'Użu se jikkontrollaw. F'każ ta' kunflitt bejn dawn it-Termini ta' Użu u kwalunkwe ftehim ieħor (miktub jew click-through) eżegwit minn Inti u Qualcomm Technologies jew affiljat ta' Qualcomm Technologies fir-rigward tal-aċċess Tiegħek għal u l-użu ta' din id-Dokumentazzjoni, il-ftehim l-ieħor se jikkontrolla. .
    Dawn it-Termini ta 'Użu għandhom ikunu rregolati minn u interpretati u infurzati skond il-liġijiet ta' l-Istat ta 'Kalifornja, eskluża l-Konvenzjoni tan-NU dwar il-Bejgħ Internazzjonali ta' Oġġetti, mingħajr ma jitqiesu l-prinċipji tal-kunflitt tal-liġijiet. Kwalunkwe tilwima, talba jew kontroversja li tirriżulta minn jew li għandha x’taqsam ma’ dawn it-Termini ta’ Użu, jew il-ksur jew il-validità tagħhom, għandha tiġi aġġudikata biss minn qorti ta’ ġurisdizzjoni kompetenti fil-kontea ta’ San Diego, l-Istat ta’ Kalifornja, u Inti b’dan taqbel li il-ġurisdizzjoni personali ta' tali qrati għal dak il-għan.
  2. Dikjarazzjonijiet ta' Attribuzzjoni ta' Trademark u Prodott.
    Qualcomm hija trademark jew trademark reġistrata ta' Qualcomm Incorporated. Arm hija trademark reġistrata ta' Arm Limited (jew is-sussidjarji tagħha) fl-Istati Uniti u/jew xi mkien ieħor. Il-marka verbali Bluetooth® hija trademark reġistrata proprjetà ta' Bluetooth SIG, Inc. Ismijiet ta' prodotti u ditti oħra msemmija f'din id-Dokumentazzjoni jistgħu jkunu trademarks jew trademarks reġistrati tas-sidien rispettivi tagħhom.
    Il-prodotti tad-ditta Snapdragon u Qualcomm imsemmija f'din id-Dokumentazzjoni huma prodotti ta' Qualcomm Technologies, Inc. u/jew is-sussidjarji tagħha. It-teknoloġiji bi privattiva ta' Qualcomm huma liċenzjati minn Qualcomm Incorporated.

Logo tal-Kumpanija

Dokumenti / Riżorsi

Software Qualcomm TensorFlow Lite SDK [pdfGwida għall-Utent
Softwer TensorFlow Lite SDK, Software Lite SDK, Software SDK, Software

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *