I-Qualcomm TensorFlow Lite SDK Software User Guide
Ilogo Yenkampani

Umlando wokubuyekeza

Buyekeza Usuku Incazelo
AA Septhemba 2023 Ukukhishwa kokuqala
AB Okthoba 2023

Isingeniso samathuluzi e-Qualcomm TFLite SDK

Amathuluzi okuthuthukisa isoftware ye-Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) ahlinzeka ngohlaka lwe-TensorFlow Lite lokubheka ubuhlakani bokwenziwa okukudivayisi (AI), olusiza abathuthukisi bohlelo lokusebenza ukuthi bathuthukise noma baqhube izinhlelo zokusebenza ze-AI ezifanele.
Lo mbhalo unikeza imiyalelo yesinyathelo nesinyathelo ukuze uhlanganise i-Qualcomm TFLite SDK ezimele futhi usethe indawo yokuthuthukisa. Lokhu kunika amandla ukuhamba komsebenzi kanjiniyela, okufaka:

  • ukusetha indawo yokwakha lapho umthuthukisi angahlanganisa i-Qualcomm TFLite SDK
  • ukuthuthukisa izinhlelo zokusebenza ezizimele ze-Qualcomm TFLite SDK

Ukuze uthole ukwesekwa, bheka ku-https://www.qualcomm.com/ukusekela. Isibalo esilandelayo sinikeza isifinyezo sokuhamba komsebenzi kwe-Qualcomm TFLite SDK: ”
Umfanekiso 1-1 Ukugeleza komsebenzi kwe-Qualcomm TFLite SDK
Ithuluzi lidinga i-SDK yesikhulumi kanye nokucushwa file (ifomethi ye-JSON) ukuze ukhiqize ama-artifact e-Qualcomm TFLite SDK.

Ukuze wakhe uhlelo lokusebenza olusuka ekupheleni usebenzisa i-multimedia, i-AI, ne-computer vision (CV) amasistimu angaphansi, bona i-Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).
Ithebula libonisa imephu yenguqulo ye-Qualcomm TFLite SDK enokukhishwa kwe-CodeLinaro tag:
Ithebula 1-1 Ulwazi lokukhishwa
Ukuxhumana

Inguqulo ye-Qualcomm TFLite SDK Ukukhishwa kwe-CodeLinaro tag
V1.0 I-Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Ithebula 1-2 Izinguqulo ze-Qualcomm TFLite SDK ezisekelwe

I-Qualcomm Inguqulo ye-TFLite SDK Umkhiqizo wesofthiwe osekelwe Inguqulo ye-TFLite esekelwe
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Izithenjwa
Ithebula 1-3 imibhalo ehlobene

Isihloko Inombolo
I-Qualcomm
00067.1 Inothi Lokukhipha le-QCS8550.LE.1.0 I-RNO-230830225415
I-Qualcomm Intelligent Multimedia SDK (QIM SDK) Umhlahlandlela Wokuqala Okusheshayo 80-50450-51
I-Qualcomm Intelligent Multimedia SDK (QIM SDK) Isithenjwa 80-50450-50
Izinsiza
https://source.android.com/docs/setup/start/initializing -

Ithebula 1-4 Ama-akhronimi nezincazelo

Isifinyezo noma igama Incazelo
AI Ukuhlakanipha okungekhona okwangempela
I-BIOS Isistimu yokufaka/yokukhiphayo eyisisekelo
CV Umbono wekhompyutha
IPK I-Itsy package file
I-QIM SDK Ikhithi yokuthuthukisa isofthiwe ye-multimedia ye-Qualcomm Intelligent
I-SDK Ikhithi yokuthuthukisa isoftware
I-TFLite I-TensorFlow Lite
XNN Xth umakhelwane oseduze

Misa indawo yokwakha yamathuluzi e-Qualcomm TFLite SDK

Amathuluzi e-Qualcomm TFLite SDK akhululwa ngendlela yomthombo; ngakho-ke, ukusungula indawo yokwakha ukuze uyihlanganise kuyimpoqo kodwa ukusetha kanye.

Okudingekayo

  • Qinisekisa ukuthi unokufinyelela kwe-sudo kumshini wokusingatha we-Linux.
  • Qinisekisa ukuthi inguqulo ye-Linux host i-Ubuntu 18.04 noma Ubuntu 20.04.
  • Khulisa umkhawulo wokubuka wabasebenzisi kanye nezimo eziphezulu zabasebenzisi kusistimu yokusingatha.
  • Engeza imigqa yomyalo elandelayo kokuthi/etc/sysctl.confand uqalise kabusha umsingathi: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Faka amaphakheji okusingatha adingekayo

Amaphakheji okusingatha afakwe emshinini wokusingathwa kwe-Linux.
Qalisa imiyalo yokufaka amaphakheji wokusingatha: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Ku-Ubuntu 18.04 nangaphezulu:
$ sudo apt-get ukufaka i-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 fontproutils
Ukuze uthole ulwazi olwengeziwe, bheka okuthi https://source.android.com/docs/setup/start/initializing.

Setha indawo ye-docker

I-docker iyinkundla esetshenziselwa ukwakha, ukuthuthukisa, ukuhlola, nokuletha isofthiwe. Ukuze uhlanganise i-SDK, idokhu kufanele ilungiselelwe emshinini wokusingathwa kwe-Linux.
Qinisekisa ukuthi i-CPU virtualization ivuliwe emshinini wokusingatha we-Linux. Uma inikwe amandla, yenza lokhu okulandelayo ukuze uyinike amandla kusukela kuzilungiselelo zokusetha eziyisisekelo zokufakwayo/zokukhiphayo (i-BIOS):

  1. Nika amandla i-virtualization kusuka ku-BIOS:
    a. Cindezela u-F1 noma u-F2 lapho isistimu iqalisa ukungena ku-BIOS. Iwindi le-BIOS liyaboniswa.
    b. Shintshela kuthebhu ethi Okuthuthukile.
    c. Esigabeni sokucushwa kwe-CPU, setha I-Virtualization Technology ukuze Inikwe amandla.
    a. Cindezela u-F12 ukuze ulondoloze futhi uphume, bese uqala kabusha uhlelo.
    Uma lezi zinyathelo zingasebenzi, landela imiyalelo ethile evela kumhlinzeki wesistimu ukuze unike amandla i-virtualization
  2. Susa noma yiziphi izimo ezindala ze-docker:
    $ sudo apt ukususa i-docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Setha ikhosombe elikude ledokha:
    $ sudo apt-get update $ sudo apt-get install ca-certificates curl ukukhishwa kwe-gnupg lsb $ 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) sign-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) uzinzile” | I-sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Faka injini ye-docker:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Engeza umsebenzisi eqenjini le-docker:
    $ sudo groupengeza idokhi $ sudo usermod -aG docker $USER
  6.  Qalisa kabusha isistimu.

Khiqiza i-SDK yesikhulumi

I-SDK yesikhulumi iyisidingo esiyisibopho sokuhlanganisa amathuluzi e-Qualcomm TFLite SDK. Ihlinzeka ngakho konke ukuncika kweplatifomu okudingekayo yi-Qualcomm TFLite SDK.
Yenza okulandelayo ukuze ukhiqize i-SDK yesikhulumi:

  1. Dala isakhiwo somkhiqizo wesofthiwe othandwayo.
    Imiyalo yokwakha i-QCS8550.LE.1.0release inikezwa kumanothi okukhishwa. Ukuze ufinyelele amanothi okukhishwa, bheka Izithenjwa.
    Uma izithombe zazakhiwe ngaphambilini, yenza isinyathelo sesi-2, bese udala isakhiwo esihlanzekile.
  2. Qalisa umyalo olandelayo ukuze wakhe izithombe zesikhala somsebenzisi ne-SDK yesikhulumi:
    Ku-QCS8550.LE.1.0, engeza isici somshini qti-tflite-delegate kokuthi MACHINE_FEATURES ku-kalama.conf file futhi uthole indawo yokwakha ngokuya ngemiyalelo evela kumanothi okukhipha.
    Ngemva kokukhiqiza izithombe zesikhala somsebenzisi kusuka kusakhiwo, sebenzisa umyalo olandelayo ukuze ukhiqize i-SDK yesikhulumi.
    $ bitbake -fc populate_sdk qti-robotics-image

Yakha amathuluzi e-Qualcomm TFLite SDK - ukuhamba komsebenzi kanjiniyela

Ukugeleza komsebenzi kwamathuluzi e-Qualcomm TFLite SDK kudinga ukuthi unjiniyela ahlinzeke ngokucushwa file nokufakiwe okuvumelekile. Izikripthi zegobolondo lomsizi kusukela kuphrojekthi yamathuluzi e-tflite (ekhona esihlahleni somthombo we-Qualcomm TFLite SDK) zinikeza imisebenzi yokusiza ukusetha indawo yegobolondo, engasetshenziselwa ukugeleza komsebenzi kwe-Qualcomm TFLite SDK.
Unjiniyela wakha amaphrojekthi e-Qualcomm TFLite SDK ngaphakathi kwesiqukathi futhi ukhiqiza ama-artifacts esebenzisa izinsiza ezihlinzekwa ngamathuluzi e-tflite.
Ngemva kokwakhiwa kwesiqukathi se-Qualcomm TFLite SDK, umthuthukisi angakwazi ukunamathisela esitsheni futhi asebenzise izinsiza zomsizi endaweni yegobolondo lesiqukathi ukuze athuthuke ngokuqhubekayo.

  • Kukhona ilungiselelo lokufaka ama-artifact e-Qualcomm TFLite SDK kudivayisi ye-Qualcomm exhunywe kumsingathi we-Linux nge-USB/adb.
  • Kukhona futhi ilungiselelo lokukopisha ama-artifact e-Qualcomm TFLite SDK kusukela esitsheni kuya emshinini womsingathi ohlukile lapho idivayisi ye-Qualcomm ixhunywe khona.
    Ukuxhumana

Isibalo esilandelayo sibonisa isethi yezinsiza ezitholakalayo ngemva kokusetha indawo yokwakha yesiqukathi kusetshenziswa imibhalo yomsizi yokwakha i-Qualcomm TFLite SDK.
Ukuxhumana

Isibalo sibonisa ukulandelana kokwenziwa kwezinsiza:
Umfanekiso 4-3 Ukulandelana kwezinsiza kumsingathi
Ukuxhumana

Vumelanisa futhi wakhe i-Qualcomm TFLite SDK
I-Qualcomm TFLite SDK ihlanganiswa lapho kwakhiwa isithombe sedokhu. Ukuze uvumelanise futhi wakhe i-Qualcomm TFLite SDK, yenza lokhu okulandelayo:

  1. Dala uhla lwemibhalo kumsingathi file uhlelo lokuvumelanisa indawo yokusebenza ye-Qualcomm TFLite SDK. Ngoba
    example: $mkdir $cd
  2. Landa ikhodi yomthombo ye-Qualcomm TFLite SDK ku-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 ukukhululwa && repo sync -qc -no-tags -j
  3. Dala uhla lwemibhalo kumsingathi file uhlelo olungafakwa ku-docker. Okwesiboneloample: mkdir-p / Lolu hlu lwemibhalo lungadalwa noma yikuphi emshinini wokusingathwa kwe-Linux, futhi aluncikile ekutheni iphrojekthi ye-Qualcomm TFLite SDK ivunyelaniswa kuphi. Ngemva kokuthi ukugeleza komsebenzi sekuqediwe ngaphakathi kwesiqukathi, ama-artifact e-Qualcomm TFLite SDK angatholakala kuhla lwemibhalo oludalwe kulesi sinyathelo.
  4. Hlela ukucushwa kwe-JSON file ekhona ku-/tflite-tools/ targets/le-tflite-tools-builder.json ngokufaka okulandelayo:
    “Isithombe”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “Hexagon_delegate”: “VALIWE”, “Gpu_delegate”: “IVULIWE”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ /”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “” }
    Ukuze uthole ulwazi olwengeziwe mayelana nokufakiwe okukhulunywe ngakho ekucushweni kwe-json file, bheka i-Docker.md readme file ku-/tflite-tools/.
    QAPHELA Ku-QCS8550, isithunywa se-Qualcomm® Hexagon™ DSP asisekelwe.
  5. Umthombo wombhalo ukuze usethe indawo ezungezile:
    $ cd /tflite-tools $ umthombo ./scripts/host/docker_env_setup.sh
  6.  Yakha isithombe sedokhu se-Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Uma ukusethwa kwesakhiwo kwehluleka, bheka Ukuxazulula inkinga yokusethwa kwedokha. Ngemva kokuqeda ngempumelelo, umlayezo olandelayo uyavezwa: “Isimo:Ukwakha isithombe kuqedwe ngempumelelo!!” Ukusebenzisa lesi sinyathelo kwakha i-Qualcomm TFLite SDK futhi.
  7.  Qalisa isiqukathi sedokhu se-Qualcomm TFLite SDK. Lokhu kuqala isitsha nge tags kunikezwe ekucushweni kwe-JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Namathisela esitsheni esiqale esinyathelweni sangaphambilini.
    $ docker namathisela

I-Qualcomm TFLite SDK ihlanganisiwe, futhi izinto zobuciko zilungele ukuthunyelwa noma kungenziwa
esetshenziselwa ukukhiqiza i-plug-in ye-QIM SDK TFLite.

Xhuma idivayisi ukuze usingathe futhi ukhiphe ama-artifact]

Ngemuva kokuhlanganiswa, kunezindlela ezimbili zokuxhuma idivayisi kumsingathi bese uphakela
Ama-artifact e-Qualcomm TFLite SDK.

  • Idivayisi ixhumeke kumsingathi wendawo we-Linux:
    Unjiniyela uxhuma idivayisi endaweni yokusebenza futhi afake ama-artifact e-Qualcomm TFLite SDK kusukela esiqukathi ngqo kudivayisi (QCS8550).
  • Idivayisi ixhumeke kumsingathi wesilawuli kude:
    Unjiniyela uxhuma idivayisi endaweni yokusebenza eyirimothi, futhi bangasebenzisa imiyalo yesifaki sesiphathi sephekhi kuzingxenyekazi ze-Windows ne-Linux ukuze bafake ama-artifact e-Qualcomm TFLite SDK kudivayisi (QCS8550)

Umfanekiso 4-4 Ukuxhumana kwebhodi ledivayisi kumthuthukisi kanye nendawo yokusebenza ekude
Ukuxhumana

Xhuma idivayisi endaweni yokusebenza

Idivayisi ixhunywe endaweni yokusebenza futhi isiqukathi sokuthuthukisa singafinyelela idivayisi nge-USB/adb.
Umfanekiso ubonisa u-stagilandelana nokugeleza komsebenzi kwe-Qualcomm TFLite SDK:
Ukuxhumana

  1. Qalisa imiyalo elandelayo ukuze ufake ama-artifact kudivayisi:
    $ tflite-amathuluzi-idivayisi-lungiselela
    $ tflite-tools-device-deploy
  2. Ukuze ukhiphe ama-artifact, sebenzisa umyalo olandelayo:
    $ tflite-amathuluzi-idivayisi-amaphakheji-susa

Xhuma idivayisi emshinini wesilawuli kude

Idivayisi ixhunywe emshinini oqhelile, futhi isiqukathi se-Qualcomm TFLite SDK asikwazi ukufinyelela idivayisi nge-USB/ad b.
Umfanekiso ubonisa u-stagilandelana nokugeleza komsebenzi kwe-Qualcomm TFLite SDK:
Ukuxhumana

Qalisa imiyalo elandelayo kusiqukathi samathuluzi we-tflite ukuze ukopishele ama-artifact emshinini oqhelile
kuye ngomphathi wephakheji kudivayisi:
$ tflite-amathuluzi-remote-sync-ipk-rel-pkg
QAPHELA Ulwazi lomshini wesilawuli kude lunikezwa ekucushweni kwe-JSON file.
Faka ama-artifact engxenyekazi ye-Windows
Ama-artifact e-Qualcomm TFLite SDK angafakwa kudivayisi ngokusekelwe kusistimu yokusebenza yomshini wesilawuli kude.

Ngeplathifomu yeWindows, yenza lokhu okulandelayo:
Ku-PowerShell, sebenzisa umbhalo olandelayo: PS C:
> i-adb impande PS C:> i-adb khubaza-ukuqinisekiswa kwe-PS C:> i-adb iqalisa kabusha i-PS C:> i-adb yokulinda-idivayisi PS C:> impande ye-adb PS C:> i-adb remount PS C:> i-adb shell mount -o remount, rw / PS C:> igobolondo le-adb “mkdir -p /tmp” PS C:> i-adb push /tmp Uma iphakheji iyi-ipk (ye-QCS8550.LE.1.0), sebenzisa le miyalo elandelayo: PS C:> igobolondo le-adb “ i-opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Faka ama-artifact engxenyekazi ye-Linux
Sebenzisa imiyalo elandelayo:
$ i-adb impande $ i-adb khubaza-iqiniso $ i-adb qalisa kabusha i-adb yokulinda-idivayisi $ i-adb impande $ i-adb iphinda ikhweze i-adb shell mount -o phinda, rw / $ igobolondo le-adb “mkdir -p /tmp” $ adb push /tmp Uma iphakheji iyi-ipk (ye-QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Hlanza isithombe sedokhu
Ngemva kokuqeda ukugeleza komsebenzi kanjiniyela, indawo yedokhu kufanele ihlanzwe ukuze kukhululwe isitoreji kudiski. Ukuhlanza i-docker kususa iziqukathi nezithombe ezingasetshenzisiwe, ngaleyo ndlela kukhululwe isikhala sediski.
Sebenzisa imiyalo elandelayo ukuze uhlanze isithombe sedokhu:

  1. Qalisa umyalo olandelayo endaweni yokusebenza ye-Linux:
    $ cd /tflite-amathuluzi
  2. Misa isiqukathi:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Susa isiqukathi:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Susa izithombe ze-docker ezindala:
    $ tflite-tools-host-images-cleanup

Xazulula inkinga ukusethwa kwedokha

Uma umyalo we-tflite-tools-host-build-image ubuyisela i-Nospace esele kumlayezo wedivayisi, bese uhambisa uhla lwemibhalo lwedokha kokuthi/local/mnt. Yenza okulandelayo ukuze uxazulule isethaphu:

  1. Yenza ikhophi yasenqolobaneni ekhona files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(usuku + %s).tar.gz
  2. Misa i-docker:
    $ service docker stop
  3. Qinisekisa ukuthi ayikho inqubo ye-docker esebenzayo:
    $ ps faux | i-grep docker
  4. Bheka ukwakheka komkhombandlela we-docker:
    $ sudo ls /var/lib/docker/
  5. Hambisa uhla lwemibhalo lwe-docker esabelweni esisha:
    $ mv /var/lib/docker /local/mnt/docker
  6. Yenza i-symlink kumkhombandlela we-docker esabelweni esisha:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Qinisekisa ukuthi ukwakheka kohla lwemibhalo lwedokhu kuhlala kungashintshiwe:
    $ sudo ls /var/lib/docker/
  8. Qala i-docker:
    $ service docker iqala
  9. Qala kabusha zonke iziqukathi ngemuva kokuhambisa umkhombandlela we-docker.

Khiqiza i-TFLite SDK nge-Linux workstation

Ukugeleza komsebenzi kwe-TFLite SDK kunganikwa amandla ngaphandle kweziqukathi kusetshenziswa indawo yokusebenza ye-Linux. Le nqubo ingenye yokusebenzisa iziqukathi.
Ukuze uvumelanise futhi wakhe i-Qualcomm TFLite SDK, yenza lokhu okulandelayo:

  1. Dala uhla lwemibhalo kumsingathi file uhlelo lokuvumelanisa indawo yokusebenza ye-Qualcomm TFLite SDK. Okwesiboneloample:
    $mkdir
    $cd
  2. Landa ikhodi yomthombo ye-Qualcomm TFLite SDK ku-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 ukukhululwa && repo sync -qc -no-tags -j8 && repo sync -qc -no-tags -j8
  3. 3. Hlela ukucushwa kwe-JSON file khona ku /tflite-tools/ targets/le-tflite-tools-builder.json ngokufaka okulandelayo
    “Isithombe”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “Hexagon_delegate”: “VALIWE”, “Gpu_delegate”: “IVULIWE”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ ”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “”
    Ukuze uthole ulwazi olwengeziwe mayelana nokufakiwe okukhulunywe ngakho ekucushweni kwe-json file, bheka i-Docker.md readme file kwe /tflite-amathuluzi/.
    QAPHELA Ku-QCS8550, isithunywa se-Hexagon DSP asisekelwe
  4. Umthombo wombhalo ukuze usethe indawo ezungezile:
    $ cd /tflite-amathuluzi
    $ umthombo ./scripts/host/host_env_setup.sh
  5. Yakha i-Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Qalisa imiyalo elandelayo yokusetshenziswa kugobolondo elifanayo le-Linux ukuze uqoqe ama-artifact we-TFLite SDK kusuka 
    TFLite_rsync_desstination.
    $ 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. Faka ama-artifact asekelwe ohlelweni lokusebenza
    • Ngeplathifomu yeWindows, ku-PowerShell, sebenzisa umbhalo olandelayo
      I-PS C:> impande ye-adb PS C:> i-adb khubaza-ukuqina PS C:> i-adb iqalisa kabusha i-PS C:> i-adb yokulinda idivayisi PS C:> impande ye-adb PS C:> i-adb remount PS C:> i-adb shell mount - o faka kabusha, i-rw / PS C:> igobolondo le-adb “mkdir -p / tmp” PS C:> i-adb push /tmp
      Uma iphakheji kuyi-ipk (ye-QCS8550.LE.1.0), sebenzisa imiyalo elandelayo:
      I-PS C:> igobolondo le-adb "opkg -force-depends -force-reinstall -forceoverwrite install /tmp/
      Ngeplathifomu ye-Linux, sebenzisa umbhalo olandelayo:
      $ i-adb impande $ i-adb khubaza-iqiniso $ i-adb qalisa kabusha i-adb yokulinda-idivayisi $ i-adb impande $ i-adb iphinda ikhweze i-adb shell mount -o phinda, rw / $ igobolondo le-adb “mkdir -p /tmp” $ adb push /tmp Uma iphakheji iyi-ipk (ye-QCS8550.LE.1.0):
      $ adb igobolondo “opkg -force-depends -force-reinstall –force-overwrite install /tmp/”

Khiqiza ama-artifact e-Qualcomm TFLite SDK yokwakha i-QIM SDK

Ukuze usebenzise ama-artifact akhiqizwe ukunika amandla i-plug-in ye-Qualcomm TFLite SDK GStreamer ku-QIM SDK, yenza lokhu okulandelayo:

  1. Qedela inqubo kokuthi Vumelanisa futhi wakhe i-Qualcomm TFLite SDK, bese usebenzisa umyalo olandelayo: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Itiyela file kukhiqizwa. Iqukethe i-Qualcomm TFLite SDK endleleni ehlinzekwe ku- “TFLite_rsync_destination”
  2. Ukuze unike amandla i-plug-in ye-Qualcomm TFLite SDK GStreamer, sebenzisa i-tar file njengengxabano ekucushweni kwe-JSON file ngokwakhiwa kwe-QIM SDK.
    Ukuze uthole ulwazi ngokuhlanganisa i-QIM SDK, bona i-Qualcomm Intelligent Multimedia SDK (QIM SDK) Umhlahlandlela Wokuqala Okusheshayo (80-50450-51).

Yakha i-Qualcomm TFLite SDK ngokuqhubekayo

Uma wakha i-Qualcomm TFLite SDK okokuqala ngqa, bona i-Build Qualcomm TFLite SDK amathuluzi - ukuhamba komsebenzi kanjiniyela. Indawo efanayo yokwakha ingasetshenziswa kabusha ekuthuthukisweni okukhulayo.
Izinsiza zomsizi (ngaphakathi kwesiqukathi) ezishiwo esithombeni zitholakala kubathuthukisi ukuze bahlanganise izinhlelo zokusebenza eziguquliwe nama-plug-ins.
Umfanekiso 5-1 Ukuhamba komsebenzi esitsheni

Ukuxhumana

Ngemuva kokuthi izinguquko zekhodi seziqediwe kumkhombandlela wekhodi, yenza lokhu okulandelayo:

  1. Hlanganisa ikhodi eshintshiwe:
    $ tflite-tools-incremental-build-install
  2. Ikhodi ehlanganisiwe yephakheji:
    $ tflite-tools-ipk-rel-pkg noma $ tflite-tools-deb-rel-pkg
  3. Vumelanisa ukukhishwa kwamaphakheji nomsingathi file uhlelo:
    $ tflite-amathuluzi-remote-sync-ipk-rel-pkg
    Or
    $ tflite-amathuluzi-remote-sync-deb-rel-pkg
  4. Lungiselela iphakheji ye-dev:
    $ tflite-amathuluzi-ipk-dev-pkg
    Ama-artifact ahlanganisiwe atholakala kufolda ye-TFLite_rsync_destination okukhulunywe ngayo ku-JSON. file, engakopishwa kunoma iyiphi inkomba.

Sebenza ne-QNN yangaphandle ye-TFLite Delegate

Isithunywa Sangaphandle se-TFLite sikuvumela ukuthi usebenzise amamodeli akho (ingxenye noma ephelele) komunye umenzi wefa usebenzisa amalabhulali ahlinzekwe inkampani yangaphandle ethembekile njenge-QNN yi-Qualcomm. Le mishini ingasebenzisa ama-accelerator ahlukahlukene akudivayisi njenge-GPU noma i-Hexagon Tensor Processor (HTP) ukuze uthole incazelo. Lokhu kunikeza onjiniyela indlela eguquguqukayo nenqanyuliwe kusuka ku-TFLite ezenzakalelayo ukuze kusheshiswe okucatshangwayo.

Okudingekayo:

  • Qinisekisa ukuthi usebenzisa indawo yokusebenzela ye-Ubuntu ukukhipha isitaki se-QNN AI.
  • Qinisekisa ukuthi usebenzisa inguqulo ye-QNN engu-2.14 ukuze ihlanganiswe ne-Qualcomm TFLite SDK

I-Qualcomm TFLite SDK inikwe amandla ukuthi isebenzise okucatshangwayo kuma-QNN ambalwa angemuva nge-TFLite Isithunywa sangaphandle se-QNN. Amamodeli e-TFLite anomfanekiso ojwayelekile we-flatbuffer angasebenza ku-GPU ne-HTP.
Ngemuva kokuthi amaphakheji e-Qualcomm TFLite SDK efakiwe kudivayisi, yenza okulandelayo ukuze ufake amalabhulali e-QNN kudivayisi.

  1. Landa i-Qualcomm Package Manager 3 ye-Ubuntu.
    a. Chofoza https://qpm.qualcomm.com/, bese uchofoza Amathuluzi.
    b. Kufasitelana elingakwesokunxele, kunkambu Yamathuluzi Okusesha, thayipha u-QPM. Kusuka ohlwini lwe-System OS, khetha i-Linux.
    Imiphumela yosesho ibonisa uhlu lwe-Qualcomm Package Managers.
    c. Khetha i-Qualcomm Package Manager 3 bese ulanda iphakheji ye-debian ye-Linux.
  2. Faka i-Qualcomm Package Manager 3 ye-Linux. Sebenzisa umyalo olandelayo:
    $ dpkg -i -phoqa-bhala ngaphezulu /indlela/kuya/
    I-QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Landa i-Qualcomm®
    I-AI Engine Direct SDK ku-Ubuntu workstation.
    a. Chofoza ku-https://qpm.qualcomm.com/ bese uchofoza Amathuluzi.
    b. Kufasitelana elingakwesokunxele, kunkambu Yamathuluzi Okusesha, thayipha isitaki se-AI. Kusuka ohlwini lwe-System OS, khetha i-Linux.
    A Uhlu lokudonsela phansi oluqukethe izinjini zesitaki ze-AI ezihlukahlukene luyaboniswa.
    c. Chofoza i-Qualcomm® AI Engine Direct SDK bese ulanda iphakheji ye-Linux v2.14.0.
  4. Faka i-Qualcomm® AI Engine Direct SDK endaweni yokusebenza ye-Ubuntu.
    a. Yenza ilayisensi isebenze:
    qpm-cli –license-activate qualcomm_ai_engine_direct
    b Faka i-AI Engine Direct SDK:
    $ qpm-cli -extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Phusha imitapo yolwazi kudivayisi usuka endaweni yokusebenza ye-Ubuntu nge-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/hexaunsigned/v68 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.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-vXNUMX/unsigned/libQnnHtpVXNUMXSkel. ngakho /usr/lib/rfsa/adsp

Hlola i-Qualcomm TFLite SDK

I-Qualcomm TFLite SDK ihlinzeka ngezifani ezithileample izinhlelo zokusebenza, ezingasetshenziswa ukuqinisekisa, ukumaka, nokuthola ukunemba kwamamodeli unjiniyela afuna ukuwahlola.
Ngemuva kokuthi amaphakheji e-Qualcomm TFLite SDK efakwe kudivayisi, isikhathi sokusebenza siyatholakala kudivayisi ukuze kuqhutshwe lezi zinhlelo zokusebenza.ample izicelo.
Okudingekayo
Dala uhla lwemibhalo olulandelayo kudivayisi:
$ adb igobolondo “mkdir/data/Models”
$ adb igobolondo “mkdir/data/Lables”
$ adb igobolondo “mkdir/data/profiling”

Lebula isithombe

Isithombe selebula siwuhlelo oluhlinzekwe yi-Qualcomm TFLite SDK ebonisa ukuthi ungalayisha kanjani imodeli ye-TensorFlow Lite eqeqeshwe kusengaphambili neguquliwe futhi uyisebenzisele ukubona izinto ezithombeni. Okudingekayo:
Landa i-sampimodeli nesithombe:
Ungasebenzisa noma iyiphi imodeli ehambisanayo, kodwa imodeli elandelayo ye-MobileNet v1 inikeza ukuboniswa okuhle kwemodeli eqeqeshelwe ukubona izinto ezihlukene eziyi-1000.

  • Thola imodeli
    $curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | i-tar xzv -C /idatha $ mv /data/mobilenet_v1_1.0_224.tflite /data/Models/
  • Thola amalebula
    $curl https://storage.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_1.0_224_frozen.tgz | i-tar xzv -C /idatha mobilenet_v1_1.0_224/ labels.txt
    $ mv /data/mobilenet_v1_1.0_224/labels.txt /data/Labels/
    Ngemva kokuxhuma esitsheni sedokhu se-Qualcomm TFLite SDK, isithombe singatholakala kokuthi:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Phusha lokhu file ku/idatha/Amalebula/
    b. Qalisa umyalo:
    $ adb shell “ilebula_isithombe -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”

Ibhentshimakhi

I-Qualcomm TFLite SDK inikeza ithuluzi lokulinganisa ukuze ubale ukusebenza kwezikhathi ezihlukene zokugijima.
Lawa mathuluzi ebhentshimakhi okwamanje akala futhi abale izibalo zamamethrikhi okusebenza abalulekile alandelayo:

  • Isikhathi sokuqalisa
  • Isikhathi se-inference sesimo sokufudumala
  • Isikhathi se-inference sesimo esizinzile
  • Ukusetshenziswa kwememori ngesikhathi sokuqalisa
  • Ukusetshenziswa kwememori sekukonke

Okudingekayo

Phusha amamodeli azohlolwa ku-TFLite Model Zoo (https://tfhub.dev/) kuya/kudatha/Amamodeli/. Gijimani i imibhalo elandelayo:  

  • Iphakethe le-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=/idatha/iphrofayili/”
  • Isithunywa se-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=/idatha/iphrofayili/”
  • Isithunywa Sangaphandle
    I-QNN Isithunywa Sangaphandle se-GPU:
    Qalisa ukuqagela ngemodeli yephoyinti elintantayo:
    $ 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 /adsp'”
    I-HTP yesithunywa sangaphandle ye-QNN:
    Qalisa i-inference ngemodeli ye-quant:
    $ 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_brarys;us; /adsp'”

Ithuluzi lokunemba

I-Qualcomm TFLite SDK inikeza ithuluzi lokunemba lokubala ukunemba kwamamodeli anezikhathi zokugijima ezahlukahlukene.

  • Ukuhlelwa ngesithunywa se-GPU
    Izinyathelo zokulanda okudingekayo files okufanele kuhlolwe kungatholakala kokuthi: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Unambambili wokusebenzisa leli thuluzi usuvele uyingxenye ye-SDK, ngakho unjiniyela akadingi ukuphinde ayakhe.
    $ adb shell “image_classify_run_eval — model_file=/idatha/Amamodeli/ -ground_truth_images_path=/data/ — ground_truth_labels=/data/ -model_output_labels=/ idatha/ -delegate=gpu”
  • Ukutholwa kwento ngephakethe le-XNN
    $ adb igobolondo “inf_diff_run_eval –model_file=/idatha/Amamodeli/ -delegate=xnnpac

ULWAZI LOMTHETHO

Ukufinyelela kwakho nokusebenzisa kwakho lo mbhalo, kanye nanoma yimiphi imininingwane, ibhodi lereferensi files, imidwebo, ukuxilonga nolunye ulwazi oluqukethwe lapha (ngokuhlangene lokhu "Imibhalo") kungaphansi kwakho (kuhlanganise nenhlangano noma elinye ibhizinisi elisemthethweni olimeleyo, ngokuhlanganyela "Wena" noma "Yakho") ukwamukelwa kwemigomo nemibandela ("Imigomo Yokusebenzisa") ibekwe ngezansi. Uma ungavumelani nale Migomo Yokusebenzisa, awukwazi ukusebenzisa le mibhalo futhi uzobhubhisa ngokushesha noma iyiphi ikhophi yayo.

  1. Isaziso Somthetho.
    Lo mbhalo wenziwa utholakale kuwe kuphela ukuze uwasebenzise ngaphakathi ngaleyo mikhiqizo neminikelo yesevisi ye-Qualcomm Technologies, Inc. (“Qualcomm Technologies”) kanye nezinkampani eziphethwe ezichazwe kulo Mqulu, futhi ngeke isetshenziselwe ezinye izinjongo. Lo mbhalo akumele ushintshwe, uhlelwe, noma ulungiswe nganoma iyiphi indlela ngaphandle kwemvume ebhaliwe ye-Qualcomm Technologies. Ukusetshenziswa okungagunyaziwe noma ukudalulwa kwalokhu
    Amadokhumenti noma ulwazi oluqukethwe lapha lunqatshelwe ngokuphelele, futhi Uyavuma ukunxephezela i-Qualcomm Technologies, izinkampani ezingaphansi kwayo nabanikezeli bamalayisensi nganoma yimuphi umonakalo noma ukulahlekelwa okutholwe yi-Qualcomm Technologies, abasebenzisana nayo nabanikezeli bamalayisense nganoma yikuphi ukusetshenziswa okungagunyaziwe noma ukudalulwa kwalo mbhalo wonke noma ingxenye. I-Qualcomm Technologies, abasebenzisana nayo nabanikezeli bamalayisense bagcina wonke amalungelo nobunikazi kanye nakulo Mqulu. Alikho ilayisensi yanoma yiluphi uphawu lokuhweba, ilungelo lobunikazi, ilungelo lobunikazi, ilungelo lokuvikela umsebenzi wezifihla-buso nanoma yiliphi elinye ilungelo lempahla eqanjiwe elinikezwa noma lishiwo yilo Mqulu nanoma yiluphi ulwazi oludalulwe lapha, okuhlanganisa, kodwa alukhawulelwe, kunoma iyiphi ilayisense yokwenza, ukusebenzisa, ukungenisa noma ukungenisa ezweni. thengisa noma yimuphi umkhiqizo, isevisi noma ubuchwepheshe obuhlinzeka ngokuhlanganisa noma yiluphi ulwazi olukulo Mqulu.
    LO MBHALO UNIKEZWA “NJENGOBA ZINJWA” NGAPHANDLE KWESIQINISEKISO SANOMA YILUPHI UHLOBO, KUNGAKHATHALISEKILE, OKUSHIWO, OKUMTHETHO NOMA OKUNYE. NGEZINGA ELIPHEZULU EGUNYAZWA UMTHETHO, UBUCHWEPHESHE BE-QUALCOMM, IZINHLOBO ZAYO KANYE NABANELAYISENSI BAKHONA NGOKUQONDILE ZONKE IZIQINISEKISO ZESIQINISEKISO, UKUTHENGISWA, UKUNGAKWEPHULI, UKULUNGA NGENXA YENZELUKO,NOMA INDLELA ETHILE. ZONKE IZIQINISEKISO EZIVUKA EKUSETSHENZISWA KWEZOHWEBO NOMA NGAPHANDLE KWENKQUBO YOKUSEBENZA NOMA INKINGA YOKUSEBENZA. PHEZULU, AKUKHO UBUCHWEPHESHE BE-QUALCOMM, NOMA IZINHLOBO ZAYO NOMA ABANIKEZI LAYISENSI, ABAYAKUBOPHEZELA WENA NOMA YILUPHI UPHIKO LWESITHATHU NGAnoma Iziphi Izindleko, UKULAHLEKELWA, UKUSETSHENZISWA, NOMA IZENZO ZENZEKE NGANJANI NOMA UNGENZEKA NGANJANI LOKHU KUNIKEZWA KHONA.
    Amakhithi emikhiqizo ethile, amathuluzi nezinto ezibalulwe kulo mbhalo zingadinga ukuthi wamukele imigomo nemibandela eyengeziwe ngaphambi kokufinyelela noma ukusebenzisa lezo zinto.
    Idatha yobuchwepheshe ecaciswe kulo mbhalo ingase ibe ngaphansi kwe-US neminye imithetho esebenzayo yokulawula ukuthekelisa. Ukudlulisa okuphambene ne-US kanye nanoma yimuphi omunye umthetho osebenzayo kunqatshelwe ngokuphelele.
    Akukho lutho kulo mbhalo oluwumnikelo wokuthengisa noma yiziphi izingxenye noma amadivayisi okubhekiselwe kuwo lapha.
    Lo mbhalo ungashintsha ngaphandle kwesaziso esengeziwe. Uma kuba nokungqubuzana phakathi kwale Migomo Yokusebenzisa kanye ne Website Terms of Use on www.qualcomm.com noma Inqubomgomo Yobumfihlo ye-Qualcomm okubhekiselwe kuyo www.qualcomm.com, le Migomo Yokusebenzisa izolawula. Esimweni lapho kuba nokungqubuzana phakathi kwale Migomo Yokusebenzisa kanye nanoma yisiphi esinye isivumelwano (esibhalwayo noma esichofozwayo) esenziwa nguwe kanye ne-Qualcomm Technologies noma i-Qualcomm Technologies engaphansi kwe-Qualcomm Technologies mayelana nokufinyelela kwakho nokusebenzisa kwakho lo mbhalo, esinye isivumelwano sizolawula. .
    Le Migomo Yokusetshenziswa izobuswa futhi ihunyushwe futhi isetshenziswe ngokuvumelana nemithetho Yesifunda SaseCalifornia, ngaphandle Kwesivumelwano Se-UN Sokuthengiswa Kwempahla Kwamazwe Ngamazwe, ngaphandle kokubheka izimiso zemithetho yokungqubuzana. Noma iyiphi ingxabano, isimangalo noma impikiswano ephakama ngenxa noma ehlobene nale Migomo Yokusebenzisa, noma ukwephulwa noma ukuba semthethweni kwayo, kuyokwahlulelwa kuphela yinkantolo enegunya lokulawula esifundeni sase-San Diego, eSifundazweni SaseCalifornia, futhi Uyavuma igunya lomuntu siqu lalezo zinkantolo ngaleyo njongo.
  2. Izitatimende Zezimpawu Zokuhweba kanye Nomkhiqizo.
    I-Qualcomm wuphawu lokuhweba noma wuphawu lokuthengisa olubhalisiwe lwe-Qualcomm Incorporated. I-Arm inguphawu lokuthengisa olubhalisiwe lwe-Arm Limited (noma izinkampani ezingaphansi kwayo) e-US kanye/noma kwenye indawo. Uphawu lwegama le-Bluetooth® wuphawu lokuthengisa olubhalisiwe oluphethwe yi-Bluetooth SIG, Inc. Amanye amagama emikhiqizo namabhrendi okubhekiselwe kuwo kulo mbhalo angaba yizimpawu zokuthengisa noma izimpawu zokuthengisa ezibhalisiwe zabanikazi bazo.
    Imikhiqizo enegama le-Snapdragon ne-Qualcomm ebalulwe kulo mbhalo iyimikhiqizo ye-Qualcomm Technologies, Inc. kanye/noma izinkampani ezingaphansi kwayo. Ubuchwepheshe obunelungelo lobunikazi be-Qualcomm bunikezwe ilayisense yi-Qualcomm Incorporated.

Ilogo Yenkampani

Amadokhumenti / Izinsiza

I-Qualcomm TensorFlow Lite SDK Software [pdf] Umhlahlandlela Womsebenzisi
I-TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *