Qualcomm TensorFlow Lite SDK Software User Guide
Logo sa Kompanya

Kasaysayan sa rebisyon

Rebisyon Petsa Deskripsyon
AA Septiyembre 2023 Inisyal nga pagpagawas
AB Oktubre 2023

Pasiuna sa Qualcomm TFLite SDK nga mga himan

Ang Qualcomm TensorFlow Lite software development kit (Qualcomm TFLite SDK) nga mga himan naghatag sa TensorFlow Lite framework alang sa on-device artificial intelligence (AI) inferencing, nga nagpadali sa mga developers sa aplikasyon sa paghimo o pagpadagan sa angay nga AI applications.
Kini nga dokumento naghatag ug sunodsunod nga mga instruksyon sa pag-compile sa usa ka standalone nga Qualcomm TFLite SDK ug pag-set up sa development environment. Kini makahimo sa developer workflow, nga naglakip sa:

  • pag-set up sa build environment diin ang developer maka-compile sa Qualcomm TFLite SDK
  • pagpalambo sa standalone Qualcomm TFLite SDK aplikasyon

Alang sa suporta, tan-awa https://www.qualcomm.com/suporta. Ang mosunud nga numero naghatag usa ka katingbanan sa Qualcomm TFLite SDK workflow: ”
Figure 1-1 Qualcomm TFLite SDK workflow
Ang himan nanginahanglan usa ka platform SDK ug usa ka pagsumpo file (JSON format) aron makamugna ang Qualcomm TFLite SDK artifacts.

Para makahimo ug end-to-end nga aplikasyon gamit ang multimedia, AI, ug computer vision (CV) subsystems, tan-awa ang Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).
Ang lamesa nagpakita sa Qualcomm TFLite SDK version mapping uban sa CodeLinaro release tag:
Talaan 1-1 Pagpagawas sa impormasyon
Koneksyon

Qualcomm TFLite SDK nga bersyon Pagpagawas sa CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Talaan 1-2 Gisuportahan ang Qualcomm TFLite SDK nga mga bersyon

Qualcomm TFLite SDK nga bersyon Gisuportahan nga produkto sa software Gisuportahan nga bersyon sa 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

Mga pakisayran
Talaan 1-3 May kalabutan nga mga dokumento

Titulo Numero
Qualcomm
00067.1 Release Note para sa QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide 80-50450-51
Reperensya sa Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Mga kapanguhaan
https://source.android.com/docs/setup/start/initializing

Talaan 1-4 Mga acronym ug mga kahulugan

Acronym o termino Kahubitan
AI Artipisyal nga paniktik
BIOS Batakang sistema sa input/output
CV Panan-awon sa kompyuter
IPK Itsy nga pakete file
QIM SDK Qualcomm Intelligent multimedia software development kit
SDK Software development kit
TFLite TensorFlow Lite
XNN Xth labing duol nga silingan

I-set up ang build environment para sa Qualcomm TFLite SDK tools

Ang Qualcomm TFLite SDK nga mga himan gibuhian sa tinubdan nga porma; busa, ang pag-establisar sa pagtukod sa palibot aron makolekta kini usa ka mandatory apan usa ka higayon nga pag-setup.

Mga kinahanglanon

  • Siguroha nga ikaw adunay sudoaccess sa Linux host machine.
  • Siguruha nga ang bersyon sa host sa Linux mao ang Ubuntu 18.04 o Ubuntu 20.04.
  • Dugangi ang labing kadaghan nga mga relo sa tiggamit ug labing kadaghan nga mga higayon sa tiggamit sa host system.
  • Idugang ang mosunod nga command lines sa/etc/sysctl.confand i-reboot ang host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

I-install ang gikinahanglan nga mga pakete sa host

Ang host packages gi-install sa Linux host machine.
Pagdalagan ang mga sugo aron i-install ang host packages: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Alang sa Ubuntu 18.04 ug mas taas:
$ 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 font
Para sa dugang nga impormasyon, tan-awa ang https://source.android.com/docs/setup/start/initializing.

I-set up ang docker environment

Ang docker usa ka plataporma nga gigamit sa pagtukod, pagpalambo, pagsulay, ug paghatud sa software. Aron ma-compile ang SDK, ang docker kinahanglan nga ma-configure sa Linux host machine.
Siguroha nga ang CPU virtualization gipalihok sa Linux host machine. Kung dili kini ma-enable, buhata ang mosunod aron mahimo kini gikan sa basic input/output system (BIOS) configuration settings:

  1. I-enable ang virtualization gikan sa BIOS:
    a. Pindota ang F1 o F2 kung ang sistema nag-boot aron makasulod sa BIOS. Gipakita ang bintana sa BIOS.
    b. Pagbalhin sa tab nga Advanced.
    c. Sa seksyon sa CPU Configuration, itakda ang Virtualization Technology sa Enabled.
    a. Pindota ang F12 aron sa pagluwas ug paggawas, ug unya i-restart ang sistema.
    Kung kini nga mga lakang dili molihok, sunda ang piho nga mga panudlo gikan sa system provider aron mahimo ang virtualization
  2. Kuhaa ang bisan unsang karaan nga mga higayon sa docker:
    $ sudo apt tangtangon ang docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  I-set up ang docker remote repository:
    $ 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) nga gipirmahan-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.  I-install ang docker engine:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Idugang ang user sa docker group:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  I-reboot ang sistema.

Paghimo platform SDK

Ang plataporma SDK usa ka mandatory nga kinahanglanon sa pag-compile sa Qualcomm TFLite SDK nga mga himan. Naghatag kini sa tanan nga gikinahanglan nga mga dependency sa plataporma nga gikinahanglan sa Qualcomm TFLite SDK.
Buhata ang mosunod aron makamugna ang platform SDK:

  1. Paghimo usa ka pagtukod alang sa gipalabi nga produkto sa software.
    Ang mga instruksyon sa pagtukod sa QCS8550.LE.1.0release gihatag sa mga nota sa pagpagawas. Aron ma-access ang mga nota sa pagpagawas, tan-awa ang Mga Reperensya.
    Kung ang mga imahe nahimo kaniadto, ipatuman ang lakang 2, ug dayon paghimo usa ka limpyo nga pagtukod.
  2. Pagdalagan ang mosunud nga mando aron matukod ang mga imahe sa wanang sa gumagamit ug platform SDK:
    Para sa QCS8550.LE.1.0, idugang ang makina nga qti-tflite-delegate sa MACHINE_FEATURES sa kalama.conf file ug gigikanan ang palibot sa pagtukod sumala sa mga panudlo gikan sa mga nota sa pagpagawas.
    Human makamugna og mga hulagway sa user space gikan sa build, padagana ang mosunod nga command aron makamugna ang platform SDK.
    $ bitbake -fc populate_sdk qti-robotics-image

Paghimo Qualcomm TFLite SDK mga himan - developer workflow

Ang Qualcomm TFLite SDK tools workflow nanginahanglan sa developer nga maghatag sa configuration file nga adunay balido nga input entries. Ang helper shell scripts gikan sa tflite-tools project (naa sa Qualcomm TFLite SDK source tree) naghatag ug helper utility functions aron i-set up ang shell environment, nga magamit para sa Qualcomm TFLite SDK workflow.
Ang developer nagtukod sa Qualcomm TFLite SDK nga mga proyekto sulod sa sudlanan ug nagmugna sa mga artifact gamit ang mga utilities nga gihatag sa tflite-tools.
Human matukod ang usa ka Qualcomm TFLite SDK nga sudlanan, ang developer mahimo nga maglakip sa sudlanan ug gamiton ang mga gamit sa katabang sa container shell environment alang sa padayon nga kalamboan.

  • Adunay probisyon nga i-install ang Qualcomm TFLite SDK artifacts sa usa ka Qualcomm device nga konektado sa Linux host pinaagi sa USB/adb.
  • Adunay usab usa ka probisyon sa pagkopya sa Qualcomm TFLite SDK artifacts gikan sa sudlanan ngadto sa lain nga host machine diin ang Qualcomm device konektado.
    Koneksyon

Ang mosunod nga numero naglista sa set sa mga utilities nga magamit human sa pag-set up sa container build environment gamit ang helper scripts para sa pagtukod sa Qualcomm TFLite SDK.
Koneksyon

Ang numero nagpakita sa han-ay sa pagpatuman sa mga utilities:
Figure 4-3 Pagkasunod-sunod sa mga utilities sa host
Koneksyon

Pag-sync ug paghimo sa Qualcomm TFLite SDK
Ang Qualcomm TFLite SDK gihugpong sa dihang ang docker image gihimo. Aron ma-sync ug matukod ang Qualcomm TFLite SDK, buhata ang mosunod:

  1. Paghimo og direktoryo sa host file sistema sa pag-sync sa Qualcomm TFLite SDK workspace. Kay
    example: $mkdir $cd
  2. Kuhaa ang Qualcomm TFLite SDK source code gikan sa 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. Paghimo og direktoryo sa host file sistema nga mahimong i-mount sa docker. Kay example: mkdir-p / Kini nga direktoryo mahimong mamugna bisan asa sa Linux host machine, ug kini wala magdepende kung asa ang Qualcomm TFLite SDK nga proyekto gi-sync. Human makompleto ang workflow sulod sa sudlanan, ang Qualcomm TFLite SDK artifacts makita sa direktoryo nga gihimo niini nga lakang.
  4. I-edit ang configuration sa JSON file anaa sa /tflite-tools/ targets/le-tflite-tools-builder.json uban sa mosunod nga mga entry:
    “Hulagway”: “tflite-tools-builder”, “Device_OS”: “le”, “Dugang_tag”: “”, “TFLite_Version”: “2.11.1”, “Mga Delegado”: ​​{ “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”: “” }
    Alang sa dugang nga impormasyon sa mga entries nga gihisgotan sa json configuration file, tan-awa ang Docker.md readme file sa /tflite-tools/.
    NOTA Para sa QCS8550, ang Qualcomm® Hexagon™ DSP nga delegado dili suportado.
  5. Tinubdan ang script aron ma-set up ang environment:
    $ cd /tflite-tools $ tinubdan ./scripts/host/docker_env_setup.sh
  6.  Pagtukod sa Qualcomm TFLite SDK docker nga imahe: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Kon mapakyas ang build setup, tan-awa ang Troubleshoot docker setup. Human sa malampuson nga pagkompleto, ang mosunod nga mensahe gipakita: "Status: Pagtukod og hulagway malampuson nga nahuman!!" Ang pagpadagan niini nga lakang nagtukod usab sa Qualcomm TFLite SDK.
  7.  Pagdalagan ang Qualcomm TFLite SDK docker container. Kini magsugod sa sudlanan uban sa tags gihatag sa JSON configuration file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Ilakip sa sudlanan nga nagsugod gikan sa miaging lakang.
    $ docker attach

Ang Qualcomm TFLite SDK gihugpong, ug ang mga artifact andam na nga i-deploy o mahimo pa
gigamit sa paghimo sa QIM SDK TFLite plug-in.

Ikonektar ang aparato sa pag-host ug pag-deploy sa mga artifact]

Human sa compilation, adunay duha ka mekanismo sa pagkonektar sa device ngadto sa usa ka host ug i-deploy ang
Mga artifact sa Qualcomm TFLite SDK.

  • Ang aparato konektado sa usa ka lokal nga host sa Linux:
    Ang usa ka developer nagkonektar sa device ngadto sa usa ka workstation ug nag-instalar sa Qualcomm TFLite SDK artifacts gikan sa sudlanan nga direkta sa device (QCS8550).
  • Device konektado sa usa ka hilit nga host:
    Gikonektar sa usa ka developer ang device ngadto sa usa ka remote workstation, ug mahimo nilang gamiton ang pack manager installer commands sa Windows ug Linux nga mga plataporma aron i-install ang Qualcomm TFLite SDK artifacts ngadto sa device (QCS8550)

Figure 4-4 Koneksyon sa device board ngadto sa developer ug remote workstation
Koneksyon

Ikonektar ang device ngadto sa workstation

Ang device konektado sa workstation ug ang development container maka-access sa device pinaagi sa USB/adb.
Ang numero nagpakita sa stagnaa sa han-ay sa Qualcomm TFLite SDK workflow:
Koneksyon

  1. Pagdalagan ang mosunod nga mga sugo aron i-install ang mga artifact sa device:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. Aron ma-uninstall ang mga artifact, pagdagan ang mosunud nga mando:
    $ tflite-tools-device-packages-remove

Ikonektar ang aparato sa hilit nga makina

Ang device konektado sa usa ka hilit nga makina, ug ang Qualcomm TFLite SDK nga sudlanan dili maka-access sa device pinaagi sa USB/ad b.
Ang numero nagpakita sa stagnaa sa han-ay sa Qualcomm TFLite SDK workflow:
Koneksyon

Pagdalagan ang mosunod nga mga sugo sa tflite-tools nga sudlanan aron kopyahon ang mga artifact sa usa ka hilit nga makina
depende sa package manager sa device:
$ tflite-tools-remote-sync-ipk-rel-pkg
NOTA Ang impormasyon sa layo nga makina gihatag sa JSON configuration file.
I-install ang mga artifact alang sa Windows platform
Ang Qualcomm TFLite SDK artifacts mahimong ma-install sa device base sa operating system sa remote machine.

Alang sa Windows platform, buhata ang mosunod:
Sa PowerShell, gamita ang mosunod nga script: 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 Kung ang package usa ka ipk (para sa QCS8550.LE.1.0), gamita ang mosunod nga mga sugo: PS C:> adb shell " opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

I-install ang mga artifact alang sa platform sa Linux
Gamita ang mosunod nga mga sugo:
$ 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 Kung ang package kay ipk (para sa QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Limpyohi ang imahe sa docker
Human makompleto ang developer workflow, ang docker environment kinahanglang limpyohan aron mapagawas ang storage sa disk. Ang paglimpyo sa docker nagtangtang sa wala magamit nga mga sudlanan ug mga imahe, sa ingon nagpagawas sa wanang sa disk.
Gamita ang mosunod nga mga sugo aron limpyohan ang docker image:

  1. Pagdalagan ang mosunod nga sugo sa Linux workstation:
    $ cd /tflite-mga himan
  2. Hunonga ang sudlanan:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Kuhaa ang sudlanan:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Kuhaa ang daan nga mga imahe sa docker:
    $ tflite-tools-host-images-cleanup

I-troubleshoot ang setup sa docker

Kung ang tflite-tools-host-build-image nga command nagbalik sa usa ka Nospace nga nahabilin sa mensahe sa device, unya ibalhin ang docker directory sa/local/mnt. Buhata ang mosunod aron masulbad ang setup:

  1. I-back up ang kasamtangan nga docker files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(petsa + %s).tar.gz
  2. Hunonga ang pantalan:
    $ paghunong sa serbisyo sa docker
  3. Tinoa nga walay proseso sa docker nga nagdagan:
    $ ps sayop | grep docker
  4. Susiha ang istruktura sa direktoryo sa docker:
    $ sudo ls /var/lib/docker/
  5. Ibalhin ang direktoryo sa docker sa usa ka bag-ong partisyon:
    $ mv /var/lib/docker /local/mnt/docker
  6. Paghimo og symlink sa docker directory sa bag-ong partition:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Siguruha nga ang istruktura sa direktoryo sa docker nagpabilin nga wala mausab:
    $ sudo ls /var/lib/docker/
  8. Pagsugod sa docker:
    $ serbisyo docker pagsugod
  9. I-restart ang tanan nga mga sudlanan pagkahuman ibalhin ang direktoryo sa docker.

Paghimo TFLite SDK gamit ang Linux workstation

Ang TFLite SDK workflow mahimong ma-enable nga walay mga sudlanan gamit ang Linux workstation. Kini nga pamaagi usa ka alternatibo sa paggamit sa mga sudlanan.
Aron ma-sync ug matukod ang Qualcomm TFLite SDK, buhata ang mosunod:

  1. Paghimo og direktoryo sa host file sistema sa pag-sync sa Qualcomm TFLite SDK workspace. Kay example:
    $mkdir
    $cd
  2. Kuhaa ang Qualcomm TFLite SDK source code gikan sa CodeLinaro:
    $ repo init -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j8 && repo sync -qc –dili-tags -j8
  3. 3. I-edit ang configuration sa JSON file anaa sa /tflite-tools/ targets/le-tflite-tools-builder.json uban sa mosunod nga mga entry
    “Hulagway”: “tflite-tools-builder”, “Device_OS”: “le”, “Dugang_tag”: “”, “TFLite_Version”: “2.11.1”, “Mga Delegado”: ​​{ “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”: “”
    Alang sa dugang nga impormasyon sa mga entries nga gihisgotan sa json configuration file, tan-awa ang Docker.md readme file sa /tflite-tools/.
    NOTA Para sa QCS8550, ang delegado sa Hexagon DSP dili suportado
  4. Tinubdan ang script aron ma-set up ang environment:
    $ cd /tflite-mga himan
    $ tinubdan ./scripts/host/host_env_setup.sh
  5. Paghimo sa Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Pagdalagan ang mosunod nga mga utility command sa samang Linux shell aron makolekta ang TFLite SDK artifacts gikan sa 
    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. I-install ang mga artifact base sa operating system
    • Para sa Windows platform, sa PowerShell, gamita ang mosunod nga script
      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
      Kung ang package usa ka ipk (para sa QCS8550.LE.1.0), gamita ang mosunod nga mga sugo:
      PS C:> adb shell "opkg -force-depends -force-reinstall -forceoverwrite install /tmp/
      Alang sa plataporma sa Linux, gamita ang mosunod nga script:
      $ 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 Kung ang package usa ka ipk (alang sa QCS8550.LE.1.0):
      $ adb shell "opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Paghimo mga artifact sa Qualcomm TFLite SDK alang sa pagtukod sa QIM SDK

Aron magamit ang mga artifact nga namugna aron mahimo ang Qualcomm TFLite SDK GStreamer plug-in sa QIM SDK, buhata ang mosunod:

  1. Kompletoha ang pamaagi sa Sync ug paghimo og Qualcomm TFLite SDK, ug dayon padagana ang mosunod nga sugo: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Usa ka tar file namugna. Naglangkob kini sa Qualcomm TFLite SDK sa agianan nga gihatag sa “TFLite_rsync_destination”
  2. Aron mahimo ang Qualcomm TFLite SDK GStreamer plug-in, gamita ang tar file isip argumento sa JSON configuration file alang sa pagtukod sa QIM SDK.
    Para sa impormasyon sa pag-compile sa QIM SDK, tan-awa ang Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).

Pagtukod sa Qualcomm TFLite SDK nga incrementally

Kung nagtukod ka sa Qualcomm TFLite SDK sa unang higayon, tan-awa ang Paghimo sa Qualcomm TFLite SDK nga mga himan - developer workflow. Ang parehas nga palibot sa pagtukod mahimong magamit pag-usab alang sa dugang nga pag-uswag.
Ang mga gamit sa katabang (sa sulod sa sudlanan) nga gihisgutan sa numero magamit sa mga developer aron makolekta ang giusab nga mga aplikasyon ug mga plug-in.
Figure 5-1 Workflow sa usa ka sudlanan

Koneksyon

Human makompleto ang mga pagbag-o sa code sa direktoryo sa code, buhata ang mosunod:

  1. I-compile ang giusab nga code:
    $ tflite-tools-incremental-build-install
  2. Gihugpong nga code sa package:
    $ tflite-tools-ipk-rel-pkg o $ tflite-tools-deb-rel-pkg
  3. I-sync ang mga pakete sa pagpagawas sa host file sistema:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Pag-andam og usa ka dev package:
    $ tflite-tools-ipk-dev-pkg
    Ang gihugpong nga mga artifact makita sa TFLite_rsync_destination folder nga gihisgutan sa JSON file, nga mahimong kopyahon sa bisan unsang direktoryo.

Pagtrabaho kauban ang QNN external TFLite Delegate

Ang usa ka TFLite External Delegate nagtugot kanimo sa pagpadagan sa imong mga modelo (bahin o tibuok) sa laing executor gamit ang mga librarya nga gihatag sa usa ka kasaligan nga ikatulo nga partido sama sa QNN sa Qualcomm. Kini nga mekanismo makagamit sa lain-laing mga on-device accelerators sama sa GPU o Hexagon Tensor Processor (HTP) para sa inference. Naghatag kini sa mga developer og flexible ug decoupled nga pamaagi gikan sa default TFLite aron mapadali ang inference.

Kinahanglanon:

  • Siguruha nga mogamit ka usa ka workstation sa Ubuntu aron makuha ang stack sa QNN AI.
  • Siguruha nga mogamit ka usa ka bersyon sa QNN 2.14 nga kauban sa Qualcomm TFLite SDK

Ang Qualcomm TFLite SDK nakahimo sa pagpadagan sa mga inferences sa daghang QNN back-ends pinaagi sa TFLite external Delegate para sa QNN. Ang mga modelo sa TFLite nga adunay kasagaran nga representasyon sa flatbuffer mahimong ipadagan sa GPU ug HTP.
Human ma-install ang Qualcomm TFLite SDK packages sa device, buhata ang mosunod aron ma-install ang QNN libraries sa device.

  1. Pag-download sa Qualcomm Package Manager 3 alang sa Ubuntu.
    a. I-klik anghttps://qpm.qualcomm.com/, ug i-klik ang Tools.
    b. Sa wala nga pane, sa natad sa Search Tools, i-type ang QPM. Gikan sa lista sa System OS, pilia ang Linux.
    Ang mga resulta sa pagpangita nagpakita sa usa ka lista sa Qualcomm Package Managers.
    c. Pilia ang Qualcomm Package Manager 3 ug i-download ang Linux debian package.
  2. I-install ang Qualcomm Package Manager 3 alang sa Linux. Gamita ang mosunod nga sugo:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. I-download ang Qualcomm®
    AI Engine Direct SDK sa Ubuntu workstation.
    a. I-klik ang https://qpm.qualcomm.com/ ug i-klik ang Tools.
    b. Sa wala nga pane, sa natad sa Search Tools, i-type ang AI stack. Gikan sa lista sa System OS, pilia ang Linux.
    A Ang drop-down list nga adunay lain-laing AI stack engine gipakita.
    c. I-klik ang Qualcomm® AI Engine Direct SDK ug i-download ang Linux v2.14.0 package.
  4. I-install ang Qualcomm® AI Engine Direct SDK sa workstation sa Ubuntu.
    a. I-aktibo ang lisensya:
    qpm-cli –license-activate qualcomm_ai_engine_direct
    b I-install ang AI Engine Direct SDK:
    $ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Iduso ang mga librarya ngadto sa device gikan sa Ubuntu workstation gamit ang 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/libQnnHt. busa /usr/lib/rfsa/adsp

Sulayi ang Qualcomm TFLite SDK

Ang Qualcomm TFLite SDK naghatag ug piho nga exampAng mga aplikasyon, nga mahimong magamit sa pag-validate, pagmarka, ug pagkuha sa katukma sa mga modelo nga gusto nga susihon sa usa ka developer.
Human ma-install ang Qualcomm TFLite SDK packages sa device, ang runtime anaa na sa device aron modagan kini nga exampmga aplikasyon.
Kinahanglanon
Paghimo sa mosunod nga mga direktoryo sa device:
$ adb shell "mkdir / data / Mga Modelo"
$ adb shell "mkdir / data / Labels"
$ adb shell "mkdir / data / profile"

Label nga hulagway

Ang label nga imahe usa ka utility nga gihatag sa Qualcomm TFLite SDK nga nagpakita kung giunsa nimo ma-load ang usa ka pretrained ug nabag-o nga TensorFlow Lite nga modelo ug gamiton kini aron mailhan ang mga butang sa mga imahe. Kinahanglanon:
Pag-download sa sampang modelo ug imahe:
Mahimo nimong gamiton ang bisan unsang katugbang nga modelo, apan ang mosunod nga modelo sa MobileNet v1 nagtanyag usa ka maayong pagpakita sa usa ka modelo nga gibansay aron mailhan ang usa ka 1000 nga lainlaing mga butang.

  • Pagkuha ug modelo
    $ 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/
  • Pagkuha og mga label
    $ 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/
    Human nimo makonektar sa Qualcomm TFLite SDK docker container, ang hulagway makita sa:
    "/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Iduso kini file sa/data/Mga Label/
    b. Pagdalagan ang sugo:
    $ 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

Ang Qualcomm TFLite SDK naghatag sa benchmarking tool aron makalkulo ang performance sa lain-laing mga run times.
Kini nga mga himan sa benchmark karon nagsukod ug nagkalkula sa mga estadistika para sa mosunod nga hinungdanon nga mga sukatan sa pasundayag:

  • Panahon sa pagsugod
  • Inference nga panahon sa warm-up state
  • Inference nga panahon sa makanunayon nga kahimtang
  • Paggamit sa memorya sa panahon sa pagsugod
  • Kinatibuk-ang paggamit sa memorya

Mga kinahanglanon

Iduso ang mga modelo nga sulayan gikan sa TFLite Model Zoo (https://tfhub.dev/) sa/data/Mga Modelo/. Dagan ang mosunod nga mga script:  

  • XNN Pack
    $ 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/profile/”
  • Delegado sa 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/profile/”
  • Eksternal nga Delegado
    QNN External Delegate GPU:
    Pagdalag inference gamit ang floating point nga modelo:
    $ 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/library_dir: /adsp'”
    QNN External Delegate HTP:
    Pagdalag inference gamit ang quant model:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtp.so;skel_library_library/libdir: /adsp'”

Tool sa katukma

Ang Qualcomm TFLite SDK naghatag usa ka tukma nga himan aron makalkulo ang katukma sa mga modelo nga adunay lainlaing mga oras sa pagdagan.

  • Klasipikasyon sa delegado sa GPU
    Ang mga lakang sa pag-download sa gikinahanglan files sa pagsulay makita sa: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
    Ang binary alang sa pagpadagan niini nga himan kabahin na sa SDK, mao nga ang developer dili na kinahanglan nga magtukod niini pag-usab.
    $ adb shell "image_classify_run_eval - model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/data/ –delegate=gpu”
  • Ang pagkakita sa butang gamit ang XNN pack
    $ adb shell “inf_diff_run_eval –model_file=/data/Mga Modelo/ –delegado=xnnpac

LEGAL NGA IMPORMASYON

Ang imong pag-access ug paggamit niini nga dokumento, uban sa bisan unsang mga detalye, reference board files, mga drowing, diagnostics ug uban pang impormasyon nga anaa dinhi (sa tingob niini "Dokumentasyon"), ubos sa imong (lakip ang korporasyon o uban pang legal nga entidad nga imong girepresentahan, sa tingub "Ikaw" o "Imo") pagdawat sa mga termino ug kondisyon (“Mga Termino sa Paggamit”) gibutang sa ubos. Kung dili Ka mouyon niini nga Mga Termino sa Paggamit, dili nimo mahimo gamiton kini nga Dokumentasyon ug gub-on dayon ang bisan unsang kopya niini.

  1. Legal nga Pahibalo.
    Kini nga Dokumentasyon gihimo nga magamit Kanimo alang lamang sa Imong internal nga paggamit sa mga produkto ug serbisyo nga gitanyag sa Qualcomm Technologies, Inc. Kini nga Dokumentasyon mahimong dili usbon, i-edit, o usbon sa bisan unsang paagi kung wala ang una nga sinulat nga pagtugot sa Qualcomm Technologies. Dili awtorisado nga paggamit o pagbutyag niini
    Ang dokumentasyon o ang impormasyon nga anaa dinhi hugot nga gidili, ug Ikaw miuyon sa pagbayad ug danyos sa Qualcomm Technologies, sa iyang mga kaubanan ug mga lisensyado alang sa bisan unsa nga kadaot o pagkawala nga nahiaguman sa Qualcomm Technologies, mga kaubanan ug mga lisensyado niini alang sa bisan unsa nga dili awtorisado nga paggamit o pagbutyag niini nga Dokumentasyon, sa kinatibuk-an o bahin. Ang Qualcomm Technologies, ang mga kaubanan ug mga licensor niini nagpabilin sa tanan nga mga katungod ug pagpanag-iya niini ug sa kini nga Dokumentasyon. Wala’y lisensya sa bisan unsang marka sa pamatigayon, patente, copyright, katungod sa pagpanalipod sa maskara sa trabaho o bisan unsang uban pang katungod sa intelektwal nga kabtangan nga gihatag o gipasabut niini nga Dokumentasyon o bisan unsang kasayuran nga gipadayag dinhi, lakip, apan dili limitado sa, bisan unsang lisensya sa paghimo, paggamit, pag-import o ibaligya ang bisan unsang produkto, serbisyo o teknolohiya nga nagtanyag nga naglangkob sa bisan unsang kasayuran sa kini nga Dokumentasyon.
    KINI NGA DOKUMENTASYON GIHATAG “AS IS” WALAY WARRANTY SA BISAN UNSANG KLASE, GIPADAYAG MAN, GIPAHIBALO, STATUTORY O UBAN PA. HANGTOD SA MAXIMUM NGA GITUGOT SA BALAOD, QUALCOMM TECHNOLOGIES, IYANG MGA AFFILIATE UG LICENSORS ESPEPISYAL NGA GIPAHIYA ANG TANANG WARRANTY SA TITLE, MERCHANTABILITY, NON-INFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, QATISFORACTORY OUT OF TRADE USAGE O GAWAS SA KURSO SA PAG-DEALING O KURSO SA PERFORMANCE. DUGANG DUGANG, WALA ANG MGA TEKNOLOHIYA SA QUALCOMM, O BISAN ISA SA IYANG MGA KASABOT O MGA LISENSOR, ANG MANANAG KANIMO O BISAN UNSANG IKATULONG PARTIDO ALANG SA BISAN UNSANG MGA GASTOS, PAGKAWAL, PAGGAMIT, O MGA AKSIYON BISAN UNSA MAN NGA MATANGO O GIHIMO NINYO SA PAGSALIG.
    Ang pila ka mga produkto nga kit, mga himan ug mga materyales nga gi-refer sa kini nga Dokumentasyon mahimong magkinahanglan Kanimo nga modawat ug dugang nga mga termino ug kondisyon sa dili pa ma-access o gamiton ang mga butang.
    Ang teknikal nga datos nga gipiho niini nga Dokumentasyon mahimong ipailalom sa US ug uban pang angay nga mga balaod sa pagkontrol sa eksport. Ang pagpasa nga supak sa US ug bisan unsang ubang magamit nga balaod hugot nga gidili.
    Wala sa kini nga Dokumentasyon ang usa ka tanyag nga ibaligya ang bisan unsang mga sangkap o aparato nga gitumong dinhi.
    Kini nga Dokumentasyon mahimong usbon nga wala’y dugang nga pagpahibalo. Kung adunay panagsumpaki tali niining mga Termino sa Paggamit ug sa WebMga Termino sa Paggamit sa site sa www.qualcomm.com o ang Qualcomm Privacy Policy nga gihisgotan sa www.qualcomm.com, kini nga mga Termino sa Paggamit ang mokontrol. Kung adunay panagsumpaki tali niini nga Mga Termino sa Paggamit ug bisan unsang uban nga kasabutan (gisulat o click-through) nga gipatuman nimo ug sa Qualcomm Technologies o sa usa ka Qualcomm Technologies nga kaalyado bahin sa Imong pag-access ug paggamit niini nga Dokumentasyon, ang uban nga kasabutan ang magkontrol .
    Kini nga mga Termino sa Paggamit pagadumalaon ug sabton ug ipatuman sumala sa mga balaod sa Estado sa California, walay labot sa UN Convention on International Sale of Goods, nga walay pagtagad sa panagsumpaki sa mga prinsipyo sa balaod. Ang bisan unsang panaglalis, pag-angkon o kontrobersiya nga motumaw gikan o may kalabutan niini nga Mga Termino sa Paggamit, o ang paglapas o pagkabalido niini, pagahukman lamang sa usa ka korte nga may katakus nga hurisdiksyon sa lalawigan sa San Diego, Estado sa California, ug pinaagi niini ikaw miuyon sa ang personal nga hurisdiksyon sa maong mga korte alang niana nga katuyoan.
  2. Mga Pahayag sa Trademark ug Product Attribution.
    Ang Qualcomm usa ka marka sa pamatigayon o rehistradong marka sa pamatigayon sa Qualcomm Incorporated. Ang Arm kay rehistrado nga marka sa Arm Limited (o mga subsidiary niini) sa US ug/o bisan asa. Ang Bluetooth® nga marka sa pulong usa ka rehistradong marka sa pamatigayon nga gipanag-iya sa Bluetooth SIG, Inc. Ang ubang mga produkto ug mga ngalan sa tatak nga gi-refer niini nga Dokumentasyon mahimong mga marka sa pamatigayon o rehistradong marka sa pamatigayon sa ilang tagsa-tagsa ka tag-iya.
    Ang Snapdragon ug Qualcomm branded nga mga produkto nga gi-refer sa kini nga Dokumentasyon mga produkto sa Qualcomm Technologies, Inc. ug/o mga subsidiary niini. Ang Qualcomm patented nga mga teknolohiya lisensyado sa Qualcomm Incorporated.

Logo sa Kompanya

Mga Dokumento / Mga Kapanguhaan

Qualcomm TensorFlow Lite SDK Software [pdf] Giya sa Gumagamit
TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *