Gid itilizatè lojisyèl Qualcomm TensorFlow Lite SDK
Logo konpayi

Istwa revizyon

Revizyon Dat Deskripsyon
AA Septanm 2023 Premye lage
AB Oktòb 2023

Entwodiksyon nan zouti Qualcomm TFLite SDK

Zouti devlopman lojisyèl Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) yo bay fondasyon TensorFlow Lite pou enferans entèlijans atifisyèl (AI) sou aparèy, ki fasilite devlopè aplikasyon yo devlope oswa kouri aplikasyon AI apwopriye.
Dokiman sa a bay enstriksyon etap pa etap pou konpile yon SDK Qualcomm TFLite otonòm epi mete anviwònman devlopman an. Sa a pèmèt workflow pwomotè a, ki gen ladann:

  • mete kanpe anviwònman an bati kote pwomotè a ka konpile Qualcomm TFLite SDK la
  • devlope aplikasyon otonòm Qualcomm TFLite SDK

Pou sipò, gade https://www.qualcomm.com/sipò. Figi sa a bay yon rezime workflow Qualcomm TFLite SDK la: "
Figi 1-1 Flux travay Qualcomm TFLite SDK
Zouti a mande pou yon SDK platfòm ak yon konfigirasyon file (Fòma JSON) pou jenere zafè Qualcomm TFLite SDK yo.

Pou konstwi yon aplikasyon bout-a-fen lè l sèvi avèk subsistèm miltimedya, AI, ak vizyon òdinatè (CV), gade Gid Quick Start Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
Tablo a montre kat vèsyon Qualcomm TFLite SDK ak lage CodeLinaro tag:
Tablo 1-1 Enfòmasyon sou Divilgasyon
Koneksyon

Qualcomm TFLite SDK vèsyon CodeLinaro lage tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tablo 1-2 Sipòte vèsyon Qualcomm TFLite SDK

Qualcomm TFLite SDK vèsyon Sipòte pwodwi lojisyèl Sipòte vèsyon 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

Referans
Tablo 1-3 Dokiman ki gen rapò

Tit Nimewo
Qualcomm
00067.1 Nòt lage pou QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Gid demaraj rapid 80-50450-51
Referans Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Resous
https://source.android.com/docs/setup/start/initializing

Tablo 1-4 Akwonim ak definisyon

Akwonim oswa tèm Definisyon
AI Entèlijans atifisyèl
BIOS De baz D'/sortie sistèm
CV Vizyon òdinatè
IPK Pake li yo file
QIM SDK Qualcomm entèlijan twous devlopman lojisyèl miltimedya
SDK Twous devlopman lojisyèl
TFLite TensorFlow Lite
XNN Xth vwazen ki pi pre

Fikse anviwònman bati pou zouti Qualcomm TFLite SDK

Zouti Qualcomm TFLite SDK yo lage nan fòm sous; Se poutèt sa, etabli anviwònman an bati pou konpile li se yon konfigirasyon obligatwa men yon sèl fwa.

Prekondisyon

  • Asire w ke ou gen sudoaccess nan machin lame Linux la.
  • Asire w ke vèsyon an lame Linux se Ubuntu 18.04 oswa Ubuntu 20.04.
  • Ogmante maksimòm mont itilizatè yo ak maksimòm ka itilizatè yo sou sistèm lame a.
  • Ajoute liy lòd sa yo nan/etc/sysctl.confand rekòmanse lame a: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Enstale pakè lame obligatwa yo

Pakè lame yo enstale sou machin lame Linux la.
Kouri kòmandman yo pou enstale pakè lame yo: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Pou Ubuntu 18.04 ak pi wo:
$ 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 dezip fontconfig
Pou plis enfòmasyon, gade https://source.android.com/docs/setup/start/initializing.

Mete kanpe anviwònman Docker

Yon docker se yon platfòm ki itilize pou konstwi, devlope, teste ak delivre lojisyèl. Pou konpile SDK a, docker a dwe configuré sou machin lame Linux la.
Asire w ke Virtualization CPU pèmèt sou machin lame Linux la. Si li pa pèmèt, fè sa ki annapre yo pou pèmèt li nan paramèt konfigirasyon debaz sistèm antre/sòti (BIOS):

  1. Pèmèt Virtualization nan BIOS:
    a. Peze F1 oswa F2 lè sistèm lan ap demaraj pou antre nan BIOS. Fenèt BIOS la parèt.
    b. Chanje nan tab la Avanse.
    c. Nan seksyon Konfigirasyon CPU a, mete Teknoloji Virtualizasyon sou Pèmèt.
    a. Peze F12 pou sove epi sòti, epi rekòmanse sistèm lan.
    Si etap sa yo pa travay, swiv enstriksyon espesifik founisè sistèm lan pou pèmèt Virtualization la
  2. Retire nenpòt ansyen ka docker la:
    $ sudo apt retire docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Mete kanpe repozitwa aleka Docker la:
    $ 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) stable” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Enstale motè docker:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Ajoute itilizatè nan gwoup docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Rdemare sistèm lan.

Jenere SDK platfòm

SDK platfòm la se yon kondisyon obligatwa pou konpile zouti Qualcomm TFLite SDK yo. Li bay tout depandans platfòm ki nesesè pa Qualcomm TFLite SDK la.
Fè bagay sa yo pou jenere SDK platfòm la:

  1. Kreye yon bati pou pwodwi lojisyèl pi pito a.
    Enstriksyon yo pou konstwi QCS8550.LE.1.0release yo bay nan nòt lage yo. Pou jwenn aksè nan nòt lage yo, gade Referans.
    Si imaj yo te deja bati, egzekite etap 2, ak Lè sa a, kreye yon bati pwòp.
  2. Kouri lòd sa a pou konstwi imaj espas itilizatè yo ak SDK platfòm:
    Pou QCS8550.LE.1.0, ajoute karakteristik machin qti-tflite-delegate nan MACHINE_FEATURES nan kalama.conf la. file ak sous anviwònman an bati dapre enstriksyon ki soti nan nòt yo lage.
    Apre ou fin kreye imaj espas itilizatè a soti nan bati, kouri lòd sa a pou jenere SDK platfòm la.
    $ bitbake -fc populate_sdk qti-robotik-imaj

Bati zouti Qualcomm TFLite SDK - workflow devlopè

Flux travay zouti Qualcomm TFLite SDK mande pou pwomotè a bay konfigirasyon an file ak antre valab. Scripts shell asistan ki soti nan pwojè tflite-tools (prezan nan pye bwa sous Qualcomm TFLite SDK) bay fonksyon sèvis piblik asistan pou mete kanpe anviwònman koki, ki ka itilize pou workflow Qualcomm TFLite SDK.
Pwomotè a bati pwojè Qualcomm TFLite SDK nan veso a epi jenere zafè yo lè l sèvi avèk sèvis piblik yo bay tflite-tools.
Apre yo fin bati yon veso Qualcomm TFLite SDK, pwomotè a ka tache ak veso a epi sèvi ak sèvis piblik yo nan anviwònman koki veso a pou devlopman kontinyèl.

  • Gen yon dispozisyon pou enstale zafè Qualcomm TFLite SDK nan yon aparèy Qualcomm ki konekte ak lame Linux la atravè USB/adb.
  • Genyen tou yon dispozisyon pou kopye zafè Qualcomm TFLite SDK soti nan veso a nan yon machin lame diferan kote aparèy Qualcomm konekte.
    Koneksyon

Figi sa a bay lis seri sèvis piblik ki disponib apre yo fin mete anviwònman konstriksyon veso a lè l sèvi avèk scripts asistan yo pou konstwi Qualcomm TFLite SDK la.
Koneksyon

Figi a montre sekans ekzekisyon sèvis piblik yo:
Figi 4-3 Sekans sèvis piblik sou lame
Koneksyon

Senkronize epi konstwi Qualcomm TFLite SDK
Qualcomm TFLite SDK la konpile lè yo kreye imaj docker la. Pou senkronize ak bati Qualcomm TFLite SDK, fè bagay sa yo:

  1. Kreye yon anyè sou lame a file sistèm pou senkronize espas travay Qualcomm TFLite SDK la. Pou
    example: $mkdir $cd
  2. Chèche kòd sous Qualcomm TFLite SDK nan CodeLinaro:
    $ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j
  3. Kreye yon anyè sou lame a file sistèm ki ka monte nan docker. Pou egzanpample: mkdir-p / Anyè sa a ka kreye nenpòt kote sou machin lame Linux la, epi li pa depann de kote pwojè Qualcomm TFLite SDK la senkronize. Apre workflow la fini nan veso a, yo ka jwenn zafè Qualcomm TFLite SDK nan anyè ki te kreye nan etap sa a.
  4. Edit konfigirasyon JSON la file prezan nan /tflite-tools/ targets/le-tflite-tools-builder.json ak antre sa yo:
    "Imaj": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegate”: { “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”: “”}
    Pou plis enfòmasyon sou antre yo mansyone nan konfigirasyon json la file, gade readme Docker.md la file nan /tflite-tools/.
    REMAK Pou QCS8550, delege Qualcomm® Hexagon™ DSP pa sipòte.
  5. Sous script la pou mete kanpe anviwònman an:
    $ cd /tflite-tools $ source ./scripts/host/docker_env_setup.sh
  6.  Konstwi imaj Docker Qualcomm TFLite SDK la: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Si konfigirasyon konstriksyon an echwe, gade Rezoud konfigirasyon docker. Apre yo fin konplete avèk siksè, mesaj sa a ap parèt: "Status:Build image completed with successfully!!" Kouri etap sa a bati Qualcomm TFLite SDK la tou.
  7.  Kouri veso Qualcomm TFLite SDK docker la. Sa a kòmanse veso a ak la tags bay nan konfigirasyon JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Tache nan veso a te kòmanse nan etap anvan an.
    $ docker tache

Qualcomm TFLite SDK la konpile, ak zafè yo pare yo dwe deplwaye oswa pi lwen.
itilize pou jenere plug-in QIM SDK TFLite.

Konekte aparèy pou òganize ak deplwaye zafè]

Apre konpilasyon, gen de mekanis konekte aparèy la ak yon lame ak deplwaye
Qualcomm TFLite SDK zafè.

  • Aparèy ki konekte ak yon lame lokal Linux:
    Yon pwomotè konekte aparèy la ak yon estasyon travay epi enstale zafè Qualcomm TFLite SDK ki soti nan veso a dirèkteman sou aparèy la (QCS8550).
  • Aparèy ki konekte ak yon lame aleka:
    Yon pwomotè konekte aparèy la ak yon estasyon travay aleka, epi yo ka itilize kòmandman enstalasyon manadjè pake yo sou platfòm Windows ak Linux pou enstale zafè Qualcomm TFLite SDK sou aparèy la (QCS8550)

Figi 4-4 Koneksyon tablo aparèy ak pwomotè ak estasyon travay aleka
Koneksyon

Konekte aparèy ak estasyon travay

Aparèy la konekte ak estasyon travay la epi veso devlopman an ka jwenn aksè nan aparèy la sou USB/adb.
Figi a montre s latagse nan sekans workflow Qualcomm TFLite SDK:
Koneksyon

  1. Kouri kòmandman sa yo pou enstale zafè yo sou aparèy la:
    $ tflite-zouti-aparèy-prepare
    $ tflite-zouti-aparèy-deplwaye
  2. Pou dezenstale zafè yo, kouri lòd sa a:
    $ tflite-zouti-aparèy-pake-retire

Konekte aparèy ak machin aleka

Aparèy la konekte ak yon machin aleka, epi veso Qualcomm TFLite SDK la pa ka jwenn aksè nan aparèy la sou USB/anons b.
Figi a montre s latagse nan sekans workflow Qualcomm TFLite SDK:
Koneksyon

Kouri kòmandman sa yo nan veso tflite-tools pou kopye zafè yo nan yon machin aleka
depann sou manadjè pake a sou aparèy la:
$ tflite-tools-remote-sync-ipk-rel-pkg
REMAK Enfòmasyon sou machin aleka yo bay nan konfigirasyon JSON la file.
Enstale zafè pou platfòm Windows
Qualcomm TFLite SDK zafè yo ka enstale sou aparèy la ki baze sou sistèm operasyon machin nan aleka.

Pou platfòm Windows la, fè bagay sa yo:
Sou PowerShell, sèvi ak script sa a: 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 Si pake a se yon ipk (pou QCS8550.LE.1.0), sèvi ak kòmandman sa yo: PS C:> adb shell " opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Enstale zafè pou platfòm Linux
Sèvi ak kòmandman sa yo:
$ adb root $ adb disable-verity $ adb reboot $ adb tann-for-device $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp If pake a se yon ipk (pou QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Netwaye imaj docker
Apre w fin ranpli workflow pwomotè a, yo ta dwe netwaye anviwònman Docker pou libere depo ki sou disk la. Netwaye Docker la retire resipyan ki pa itilize yo ak imaj, konsa libere espas ki gen kapasite a.
Sèvi ak kòmandman sa yo pou netwaye imaj docker la:

  1. Kouri lòd sa a sou estasyon travay Linux la:
    $ cd /tflite-tools
  2. Sispann veso a:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Retire veso a:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Retire ansyen imaj docker yo:
    $ tflite-zouti-lame-imaj-netwayaj

Rezoud konfigirasyon docker

Si lòd tflite-tools-host-build-image la retounen yon mesaj Nospace kite sou aparèy, Lè sa a, deplase anyè docker a nan/local/mnt. Fè bagay sa yo pou rezoud pwoblèm konfigirasyon an:

  1. Back up docker ki egziste deja files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(dat + %s).tar.gz
  2. Sispann docker la:
    $ sèvis docker sispann
  3. Verifye ke pa gen okenn pwosesis docker ap kouri:
    $ ps faux | grep docker
  4. Tcheke estrikti anyè docker la:
    $ sudo ls /var/lib/docker/
  5. Deplase anyè docker a nan yon nouvo patisyon:
    $ mv /var/lib/docker /local/mnt/docker
  6. Fè yon lyen senbolik nan anyè docker nan nouvo patisyon an:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Asire w ke estrikti anyè docker la rete san chanjman:
    $ sudo ls /var/lib/docker/
  8. Kòmanse docker:
    $ sèvis docker kòmanse
  9. Rekòmanse tout resipyan yo apre w fin deplase anyè docker la.

Jenere TFLite SDK ak estasyon travay Linux

Workflow TFLite SDK ka aktive san kontenè lè l sèvi avèk estasyon travay Linux la. Pwosedi sa a se yon altènativ a sèvi ak resipyan.
Pou senkronize ak bati Qualcomm TFLite SDK, fè bagay sa yo:

  1. Kreye yon anyè sou lame a file sistèm pou senkronize espas travay Qualcomm TFLite SDK la. Pou egzanpample:
    $mkdir
    $cd
  2. Chèche kòd sous Qualcomm TFLite SDK nan CodeLinaro:
    $ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j8 && repo senkronize -qc -non-tags -j8
  3. 3. Edit konfigirasyon JSON la file prezan nan /tflite-tools/ targets/le-tflite-tools-builder.json ak antre sa yo
    "Imaj": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegate”: { “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”: “”
    Pou plis enfòmasyon sou antre yo mansyone nan konfigirasyon json la file, gade readme Docker.md la file nan /tflite-tools/.
    REMAK Pou QCS8550, Egzagòn DSP delege pa sipòte
  4. Sous script la pou mete kanpe anviwònman an:
    $ cd /tflite-tools
    $ sous ./scripts/host/host_env_setup.sh
  5. Bati Qualcomm TFLite SDK la.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Kouri kòmandman sèvis piblik sa yo nan menm koki Linux la pou kolekte zafè TFLite SDK yo 
    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. Enstale zafè ki baze sou sistèm operasyon an
    • Pou platfòm Windows la, sou PowerShell, sèvi ak script sa a
      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
      Si pake a se yon ipk (pou QCS8550.LE.1.0), sèvi ak kòmandman sa yo:
      PS C:> adb shell "opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Pou platfòm Linux la, sèvi ak script sa a:
      $ 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 Si pake a se yon ipk (pou QCS8550.LE.1.0):
      $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Jenere Qualcomm TFLite SDK zafè pou QIM SDK bati

Pou itilize zafè ki te pwodwi pou pèmèt plug-in Qualcomm TFLite SDK GStreamer nan QIM SDK, fè bagay sa yo:

  1. Konplete pwosedi a nan senkronize epi konstwi Qualcomm TFLite SDK, epi apresa kouri lòd sa a: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Yon goudwon file se pwodwi. Li genyen Qualcomm TFLite SDK nan chemen yo bay nan "TFLite_rsync_destination"
  2. Pou pèmèt plug-in Qualcomm TFLite SDK GStreamer, sèvi ak goudwon ​​an file kòm yon agiman nan konfigirasyon JSON la file pou QIM SDK bati.
    Pou enfòmasyon sou konpile QIM SDK, gade Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).

Bati Qualcomm TFLite SDK enkreman

Si w ap konstwi Qualcomm TFLite SDK la pou premye fwa, gade Build Qualcomm TFLite SDK tools - Developer Workflow. Menm anviwònman bati ka itilize ankò pou devlopman incrémentielle.
Sèvis piblik asistan yo (nan veso a) mansyone nan figi a yo disponib pou devlopè yo konpile aplikasyon modifye ak ploge-ins.
Figi 5-1 Workflow nan yon veso

Koneksyon

Apre chanjman kòd yo fin ranpli nan anyè kòd la, fè bagay sa yo:

  1. Konpile kòd modifye:
    $ tflite-tools-incremental-build-install
  2. Pake konpile kòd:
    $ tflite-tools-ipk-rel-pkg oswa $ tflite-tools-deb-rel-pkg
  3. Senkronize pakè lage ak lame a file sistèm:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Prepare yon pake dev:
    $ tflite-tools-ipk-dev-pkg
    Yo jwenn zafè konpile yo nan katab TFLite_rsync_destination ki mansyone nan JSON la. file, ki ka kopye nan nenpòt anyè.

Travay ak QNN ekstèn TFLite Delegate

Yon Delege Ekstèn TFLite pèmèt ou kouri modèl ou yo (an pati oswa antye) sou yon lòt ekzekitè lè l sèvi avèk bibliyotèk yon twazyèm pati ou fè konfyans tankou QNN pa Qualcomm. Mekanis sa a ka ogmante yon varyete akseleratè sou aparèy tankou GPU oswa Hexagon Tensor Processor (HTP) pou enferans. Sa a bay devlopè yo yon metòd fleksib ak dekouple soti nan TFLite default la pou pi vit enferans.

Prekondisyon:

  • Asire w ke ou itilize yon estasyon travay Ubuntu pou ekstrè QNN AI pile.
  • Asire w ke w itilize yon QNN vèsyon 2.14 pou yo ansanm ak Qualcomm TFLite SDK.

Qualcomm TFLite SDK a pèmèt yo kouri enferans sou plizyè QNN back-ends atravè TFLite ekstèn Delegate pou QNN. Modèl TFLite yo ak yon reprezantasyon flatbuffer komen yo ka kouri sou GPU ak HTP.
Apre pakè Qualcomm TFLite SDK yo enstale sou aparèy la, fè bagay sa yo pou enstale bibliyotèk QNN yo sou aparèy la.

  1. Telechaje Qualcomm Package Manager 3 pou Ubuntu.
    a. Klike https://qpm.qualcomm.com/, epi klike sou Zouti.
    b. Nan fenèt gòch la, nan jaden Zouti rechèch la, tape QPM. Nan lis OS sistèm lan, chwazi Linux.
    Rezilta rechèch yo montre yon lis Manadjè pake Qualcomm.
    c. Chwazi Qualcomm Package Manager 3 epi telechaje pake Linux Debian.
  2. Enstale Qualcomm Package Manager 3 pou Linux. Sèvi ak lòd sa a:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Telechaje Qualcomm® la
    AI Engine Direct SDK sou estasyon travay Ubuntu.
    a. Klike https://qpm.qualcomm.com/ epi klike sou Zouti.
    b. Nan fenèt gòch la, nan jaden Zouti rechèch la, tape pile AI. Nan lis OS sistèm lan, chwazi Linux.
    A Lis drop-down ki gen plizyè motè pil AI parèt.
    c. Klike sou Qualcomm® AI Engine Direct SDK epi telechaje pake Linux v2.14.0 la.
  4. Enstale Qualcomm® AI Engine Direct SDK sou estasyon travay Ubuntu.
    a. Aktive lisans lan:
    qpm-cli –lisans-aktive qualcomm_ai_engine_direct
    b Enstale AI Engine Direct SDK:
    $ qpm-cli –extract /path/to/qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Pouse bibliyotèk nan aparèy la soti nan estasyon travay Ubuntu ak 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/nSkelt/V73/nSkelt. konsa /usr/lib/rfsa/adsp

Teste Qualcomm TFLite SDK

Qualcomm TFLite SDK bay sèten ansyenampaplikasyon yo, ki ka itilize pou valide, referans, epi jwenn presizyon nan modèl yo ke yon pwomotè vle evalye.
Apre pakè Qualcomm TFLite SDK yo enstale sou aparèy la, ègzekutabl la disponib sou aparèy la pou kouri ansyen sa yo.ample aplikasyon yo.
Avantou
Kreye anyè sa yo sou aparèy la:
$ adb shell "mkdir /data/Models"
$ adb shell "mkdir /data/Lables"
$ adb shell "mkdir /data/profiling"

Mete etikèt sou imaj

Yon imaj etikèt se yon sèvis piblik Qualcomm TFLite SDK ki bay ki montre kijan ou ka chaje yon modèl TensorFlow Lite ki deja antrene ak konvèti epi sèvi ak li pou rekonèt objè ki nan imaj yo. Prekondisyon:
Telechaje sampmodèl ak imaj:
Ou ka itilize nenpòt modèl konpatib, men modèl MobileNet v1 sa a ofri yon bon demonstrasyon sou yon modèl ki resevwa fòmasyon pou rekonèt 1000 objè diferan.

  • Jwenn modèl
    $ 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/
  • Jwenn etikèt
    $ 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/
    Apre ou fin konekte ak veso Docker Qualcomm TFLite SDK la, ou ka jwenn imaj la nan:
    "/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
    a. Pouse sa file pou/done/Labels/
    b. Kouri lòd la:
    $ 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"

Referans

Qualcomm TFLite SDK bay zouti benchmarking pou kalkile pèfòmans plizyè fwa kouri.
Zouti referans sa yo kounye a mezire ak kalkile estatistik pou mezi pèfòmans enpòtan sa yo:

  • Tan inisyalizasyon
  • Enferans tan nan eta cho-up
  • Enferans tan nan eta fiks
  • Itilizasyon memwa pandan tan inisyalizasyon
  • Itilizasyon memwa an jeneral

Prekondisyon

Pouse modèl yo pou teste nan TFLite Model Zoo (https://tfhub.dev/) pou/done/Modèl/. Kouri a scripts sa yo:  

  • XNN pake
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/done/profilage/”
  • Delege 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=/done/profilage/”
  • Delege ekstèn
    QNN Delege Ekstèn GPU:
    Kouri enferans ak modèl pwen k ap flote:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so;skel:_library/libQnnGpu.so; /adsp'"
    QNN Delege Ekstèn HTP:
    Kouri enferans ak modèl kantite:
    $ 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/rfsbrary_ /adsp'"

Zouti presizyon

Qualcomm TFLite SDK a bay yon zouti presizyon pou kalkile presizyon nan modèl ak divès kalite tan.

  • Klasifikasyon ak delege GPU
    Etap yo pou telechaje ki nesesè yo fileOu ka jwenn tès yo nan: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
    Binè pou kouri zouti sa a deja fè pati SDK a, kidonk pwomotè a pa bezwen bati l ankò.
    $ adb shell "image_classify_run_eval — model_file=/done/Modèl/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ done/ –delegate=gpu”
  • Deteksyon objè ak pake XNN
    $ adb shell "inf_diff_run_eval –model_file=/done/Modèl/ –delege=xnnpac

ENFÒMASYON LEGAL

Aksè ou ak itilizasyon dokiman sa a, ansanm ak nenpòt espesifikasyon, tablo referans files, desen, dyagnostik ak lòt enfòmasyon ki ladan l (ansanm sa a "Dokimantasyon"), se sijè a ou (ki gen ladan sosyete a oswa lòt antite legal ou reprezante, kolektivman "Ou" oswa "Ou") akseptasyon tèm ak kondisyon yo ("Tèm itilizasyon") tabli anba a. Si Ou pa dakò ak Kondisyon Itilizasyon sa yo, ou pa ka sèvi ak Dokimantasyon sa a epi ou dwe imedyatman detwi nenpòt kopi ladan l.

  1. Avi Legal.
    Dokiman sa a ap disponib pou Ou sèlman pou itilizasyon entèn ou ak pwodwi sa yo ak sèvis ofrann Qualcomm Technologies, Inc. ("Qualcomm Technologies") ak afilye li yo ki dekri nan Dokimantasyon sa a, epi yo pa dwe itilize pou okenn lòt rezon. Dokiman sa a pa ka chanje, modifye oswa modifye nan okenn fason san apwobasyon alekri anvan Qualcomm Technologies. Itilize oswa divilgasyon sa a san otorizasyon
    Dokimantasyon oswa enfòmasyon ki ladann yo entèdi entèdi, epi Ou dakò pou dedomaje Qualcomm Technologies, afilye li yo ak lisansye pou nenpòt domaj oswa pèt Qualcomm Technologies, afilye li yo ak lisansye sibi pou nenpòt itilizasyon san otorizasyon oswa divilgasyon Dokimantasyon sa a, an antye oswa pati. Qualcomm Technologies, afilye li yo ak lisansye yo kenbe tout dwa ak pwopriyetè nan ak sou Dokimantasyon sa a. Pa gen okenn lisans pou nenpòt mak komèsyal, patant, dwadotè, dwa pwoteksyon travay mask oswa nenpòt lòt dwa pwopriyete entelektyèl swa akòde oswa implicite pa Dokimantasyon sa a oswa nenpòt enfòmasyon divilge nan la a, ki gen ladan, men pa limite a, nenpòt lisans pou fè, itilize, enpòte oswa Vann nenpòt pwodwi, sèvis oswa teknoloji ofri nenpòt nan enfòmasyon ki nan Dokimantasyon sa a.
    YO BAY DOKIMANTASYON SA A "KÒM YO" SAN OKENN KALITE GARANTI, KIT KI EXPRESSE, IMPLICITE, LEGAL OSWA ONYÈ. DAN MAKSIMÒM LA LWA OTE, QUALCOMM TECHNOLOGIES, AFILI LI AK LICENSE ESPESIFIKMAN REJTE TOUT GARANTI TIT, KOMPLASITE, KI PA VOLANS, ADEMPATE POU YON OBJEKTIF PARTICULIER, SATISFAKTI, GARANTI AK GARANTI ITILIZE KOmèsyal OSWA DEYÒ YON KOU DEALING OSWA KOU DE PERFORMANCE. ANplis de sa, NI QUALCOMM TECHNOLOGIES, NI OKENN AFIYE OSWA LICANSÈ LI, PRAL RESPONSABLE ANvè OU OU OU OU KI NENPÒT YON TWAZYÈ PATI POU NENPÒT DEPANN, PÈT, UTILIZASYON, OSWA AKSYON KELANTMAN OU FÈ OSWA FÈ OU SOU KONPANSYON SOU DOMICILE.
    Sèten twous pwodwi, zouti ak materyèl ki refere yo nan Dokimantasyon sa a ka mande w aksepte tèm ak kondisyon adisyonèl anvan w gen aksè oswa itilize atik sa yo.
    Done teknik ki espesifye nan Dokimantasyon sa a ka sijè a US ak lòt lwa ki aplikab kontwòl ekspòtasyon. Transmisyon kontrè ak US ak nenpòt lòt lwa aplikab entèdi entèdi.
    Pa gen anyen nan Dokimantasyon sa a ki se yon òf pou vann nenpòt nan konpozan oswa aparèy yo refere yo nan la a.
    Dokiman sa a kapab chanje san okenn lòt notifikasyon. Nan ka ta gen yon konfli ant kondisyon sa yo pou itilize ak la WebKondisyon Itilizasyon sit sou www.qualcomm.com oswa Règleman sou enfòmasyon konfidansyèl Qualcomm referans sou www.qualcomm.com, Kondisyon Itilizasyon sa yo pral kontwole. Nan ka ta gen yon konfli ant Kondisyon Itilizasyon sa yo ak nenpòt lòt akò (ekri oswa klike sou) egzekite pa Ou menm ak Qualcomm Technologies oswa yon afilye Qualcomm Technologies ki gen rapò ak aksè Ou ak itilizasyon Dokimantasyon sa a, lòt akò a pral kontwole. .
    Kondisyon Itilizasyon sa yo pral gouvène ak entèprete ak aplike an akò ak lwa Eta Kalifòni, eksepte Konvansyon Nasyonzini sou Vann Entènasyonal machandiz yo, san yo pa konsidere prensip konfli lwa yo. Nenpòt diskisyon, reklamasyon oswa konfli ki soti nan oswa ki gen rapò ak Kondisyon Itilizasyon sa yo, oswa vyolasyon oswa validite sa yo, pral jije sèlman pa yon tribinal ki gen jiridiksyon konpetan nan konte a nan San Diego, Eta Kalifòni, epi ou dakò avèk sa a. jiridiksyon pèsonèl tribinal sa yo pou objektif sa a.
  2. Deklarasyon mak komèsyal ak atribisyon pwodwi.
    Qualcomm se yon mak oswa yon mak ki anrejistre nan Qualcomm Incorporated. Arm se yon mak ki anrejistre Arm Limited (oswa filiales li yo) nan peyi Etazini ak/oswa lòt kote. Mak mo Bluetooth® la se yon mak komèsyal anrejistre ki posede pa Bluetooth SIG, Inc. Lòt non pwodwi ak mak ki refere nan Dokimantasyon sa a kapab mak oswa mak anrejistre pwopriyetè respektif yo.
    Pwodwi mak Snapdragon ak Qualcomm yo fè referans nan Dokimantasyon sa a se pwodwi Qualcomm Technologies, Inc. ak/oswa filiales li yo. Teknoloji patante Qualcomm yo gen lisans Qualcomm Incorporated.

Logo konpayi

Dokiman / Resous

Qualcomm TensorFlow Lite SDK lojisyèl [pdfGid Itilizatè
TensorFlow Lite SDK lojisyèl, Lite SDK lojisyèl, SDK lojisyèl, lojisyèl

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *