Pandhuan Pangguna Piranti Lunak Qualcomm TensorFlow Lite SDK
Logo Perusahaan

Riwayat revisi

Revisi Tanggal Katrangan
AA September 2023 Rilis wiwitan
AB Oktober 2023

Pambuka kanggo alat Qualcomm TFLite SDK

Piranti pangembangan piranti lunak Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) nyedhiyakake kerangka TensorFlow Lite kanggo inferensi intelijen buatan (AI) ing piranti, sing nggampangake pangembang aplikasi ngembangake utawa mbukak aplikasi AI sing cocog.
Dokumen iki menehi instruksi langkah-langkah kanggo ngumpulake Qualcomm TFLite SDK mandiri lan nyetel lingkungan pangembangan. Iki mbisakake alur kerja pangembang, sing kalebu:

  • nyetel lingkungan mbangun ngendi pangembang bisa ngumpulake Qualcomm TFLite SDK
  • ngembangaken aplikasi Qualcomm TFLite SDK dewekan

Kanggo dhukungan, deleng https: //www.karajawa.com/nyokong. Tokoh ing ngisor iki nyedhiyakake ringkesan alur kerja Qualcomm TFLite SDK: "
Gambar 1-1 alur kerja Qualcomm TFLite SDK
Alat kasebut mbutuhake SDK platform lan konfigurasi file (format JSON) kanggo ngasilake artefak Qualcomm TFLite SDK.

Kanggo mbangun aplikasi end-to-end nggunakake subsistem multimedia, AI, lan computer vision (CV), deleng Pandhuan Cepet (80-50450-51) Qualcomm Intelligent Multimedia SDK (QIM SDK).
Tabel nuduhake pemetaan versi Qualcomm TFLite SDK karo release CodeLinaro tag:
Tabel 1-1 Rilis informasi
Sambungan

Versi Qualcomm TFLite SDK CodeLinaro release tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tabel 1-2 Didhukung versi Qualcomm TFLite SDK

Qualcomm Versi TFLite SDK Produk piranti lunak sing didhukung Didhukung versi 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

Referensi
Tabel 1-3 Dokumen sing gegandhengan

judhul Nomer
Qualcomm
00067.1 Release Wigati kanggo QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Pandhuan Mulai Cepet 80-50450-51
Referensi Qualcomm Intelligent Multimedia SDK (QIM SDK). 80-50450-50
Sumber daya
https://source.android.com/docs/setup/start/initializing

Tabel 1-4 Akronim lan andharan

Akronim utawa istilah definisi
AI Artificial intelligence
BIOS Sistem input/output dhasar
CV visi komputer
IPK Paket Itsy file
QIM SDK Kit pangembangan piranti lunak multimedia Intelligent Qualcomm
SDK Kit pangembangan piranti lunak
TFLite TensorFlow Lite
XNN Xth tetanggan paling cedhak

Nggawe lingkungan mbangun kanggo piranti Qualcomm TFLite SDK

Piranti Qualcomm TFLite SDK dirilis ing wangun sumber; mulane, nggawe lingkungan mbangun kanggo ngumpulake iku prentah nanging persiyapan siji-wektu.

Prasyarat

  • Priksa manawa sampeyan duwe sudoaccess menyang mesin host Linux.
  • Priksa manawa versi host Linux yaiku Ubuntu 18.04 utawa Ubuntu 20.04.
  • Nambah jam tangan pangguna maksimal lan kasus pangguna maksimal ing sistem host.
  • Tambah baris printah ing ngisor iki kanggo / etc / sysctl.confand urip maneh host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Instal paket host sing dibutuhake

Paket host diinstal ing mesin host Linux.
Jalanake perintah kanggo nginstal paket host: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Kanggo Ubuntu 18.04 lan luwih dhuwur:
$ 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
Kanggo informasi luwih lengkap, deleng https: // source.android.com/docs/setup/start/initializing.

Setel lingkungan docker

Docker minangka platform sing digunakake kanggo mbangun, ngembangake, nguji, lan ngirim piranti lunak. Kanggo ngumpulake SDK, docker kudu dikonfigurasi ing mesin host Linux.
Priksa manawa virtualisasi CPU diaktifake ing mesin host Linux. Yen ora diaktifake, tindakake ing ngisor iki kanggo ngaktifake saka setelan konfigurasi input/output system (BIOS):

  1. Aktifake virtualisasi saka BIOS:
    a. Pencet F1 utawa F2 nalika sistem wis boot munggah kanggo langkah menyang BIOS. Jendhela BIOS ditampilake.
    b. Ngalih menyang tab Lanjut.
    c. Ing bagean Konfigurasi CPU, setel Teknologi Virtualisasi menyang Aktif.
    a. Pencet F12 kanggo nyimpen lan metu, banjur miwiti maneh sistem.
    Yen langkah-langkah kasebut ora bisa ditindakake, tindakake pandhuan khusus saka panyedhiya sistem kanggo ngaktifake virtualisasi
  2. Mbusak conto lawas saka docker:
    $ sudo apt mbusak docker-desktop
    $ rm -r $ HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Setel repositori remot docker:
    $ sudo apt-get nganyari $ sudo apt-get install ca-sertifikat 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) stabil” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Instal mesin docker:
    $ sudo apt-get nganyari $ sudo apt-get nginstal docker-ce docker-ce-cli
  5.  Tambah pangguna menyang grup docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $ USER
  6.  Urip maneh sistem.

Nggawe SDK platform

Platform SDK minangka syarat wajib kanggo ngumpulake alat Qualcomm TFLite SDK. Iki nyedhiyakake kabeh dependensi platform sing dibutuhake sing dibutuhake dening Qualcomm TFLite SDK.
Tindakake ing ngisor iki kanggo ngasilake SDK platform:

  1. Nggawe bangunan kanggo produk piranti lunak sing disenengi.
    Pandhuan kanggo mbangun QCS8550.LE.1.0release kasedhiya ing cathetan release. Kanggo ngakses cathetan rilis, deleng Referensi.
    Yen gambar sadurunge dibangun, nglakokake langkah 2, banjur gawe bangunan sing resik.
  2. Jalanake perintah ing ngisor iki kanggo mbangun gambar ruang pangguna lan platform SDK:
    Kanggo QCS8550.LE.1.0, nambah fitur mesin qti-tflite-delegate ing MACHINE_FEATURES ing kalama.conf file lan sumber lingkungan mbangun miturut instruksi saka cathetan release.
    Sawise nggawe gambar ruang pangguna saka mbangun, jalanake printah ing ngisor iki kanggo ngasilake SDK platform.
    $ bitbake -fc populate_sdk qti-robotics-image

Gawe alat Qualcomm TFLite SDK - alur kerja pangembang

Alur kerja alat Qualcomm TFLite SDK mbutuhake pangembang kanggo nyedhiyakake konfigurasi kasebut file karo entri input sing bener. Skrip cangkang helper saka proyek tflite-tools (saiki ing wit sumber Qualcomm TFLite SDK) nyedhiyakake fungsi sarana helper kanggo nyetel lingkungan cangkang, sing bisa digunakake kanggo alur kerja Qualcomm TFLite SDK.
Pangembang mbangun proyek Qualcomm TFLite SDK ing wadhah kasebut lan ngasilake artefak nggunakake utilitas sing diwenehake dening tflite-tools.
Sawise wadhah Qualcomm TFLite SDK dibangun, pangembang bisa dipasang ing wadhah kasebut lan nggunakake utilitas helper ing lingkungan cangkang wadhah kanggo pangembangan terus.

  • Ana pranata kanggo nginstal artefak Qualcomm TFLite SDK menyang piranti Qualcomm sing disambungake menyang host Linux liwat USB / adb.
  • Ana uga pranata kanggo nyalin artefak Qualcomm TFLite SDK saka wadhah menyang mesin host sing beda ing ngendi piranti Qualcomm disambungake.
    Sambungan

Tokoh ing ngisor iki nampilake dhaptar utilitas sing kasedhiya sawise nyetel lingkungan mbangun wadhah kanthi nggunakake skrip helper kanggo mbangun Qualcomm TFLite SDK.
Sambungan

Gambar kasebut nuduhake urutan eksekusi utilitas:
Gambar 4-3 Urutan utilitas ing host
Sambungan

Nyelarasake lan mbangun Qualcomm TFLite SDK
Qualcomm TFLite SDK dikompilasi nalika gambar docker digawe. Kanggo nyelarasake lan mbangun Qualcomm TFLite SDK, tindakake ing ngisor iki:

  1. Nggawe direktori ing host file sistem kanggo nyelarasake ruang kerja Qualcomm TFLite SDK. Kanggo
    example: $mkdir $cd
  2. Njupuk kode sumber Qualcomm TFLite SDK saka 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. Nggawe direktori ing host file sistem sing bisa dipasang menyang docker. Kanggo example: mkdir-p / Direktori iki bisa digawe ing ngendi wae ing mesin inang Linux, lan iku ora gumantung ing ngendi project Qualcomm TFLite SDK diselarasake. Sawise alur kerja rampung ing wadhah, artefak Qualcomm TFLite SDK bisa ditemokake ing direktori sing digawe ing langkah iki.
  4. Sunting konfigurasi JSON file saiki ing /tflite-tools/ targets/le-tflite-tools-builder.json kanthi entri ing ngisor iki:
    "Gambar": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “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”: “” }
    Kanggo informasi luwih lengkap babagan entri kasebut ing konfigurasi json file, ndeleng Docker.md readme file ing /tflite-tools/.
    CATETAN Kanggo QCS8550, delegasi Qualcomm® Hexagon™ DSP ora didhukung.
  5. Sumber skrip kanggo nyiyapake lingkungan:
    $cd /tflite-tools $ sumber ./scripts/host/docker_env_setup.sh
  6.  Mbangun Qualcomm TFLite SDK gambar docker: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Yen persiyapan mbangun gagal, ndeleng Troubleshoot persiyapan docker. Sawise kasil rampung, pesen ing ngisor iki ditampilake: "Status: Mbangun gambar rampung kanthi sukses!!" Mlaku langkah iki mbangun Qualcomm TFLite SDK uga.
  7.  Mbukak wadhah docker Qualcomm TFLite SDK. Iki diwiwiti wadhah karo tags kasedhiya ing konfigurasi JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Pasang menyang wadhah diwiwiti saka langkah sadurunge.
    $ docker masang

Qualcomm TFLite SDK wis dikompilasi, lan artefak wis siyap kanggo disebarake utawa luwih bisa
digunakake kanggo ngasilake plug-in QIM SDK TFLite.

Sambungake piranti menyang host lan masang artefak]

Sawise kompilasi, ana rong mekanisme kanggo nyambungake piranti menyang host lan masang
artefak Qualcomm TFLite SDK.

  • Piranti sing disambungake menyang host Linux lokal:
    A pangembang nyambungake piranti menyang workstation lan nginstal Qualcomm TFLite SDK artefak saka wadhah langsung ing piranti (QCS8550).
  • Piranti sing disambungake menyang host remot:
    Pangembang nyambungake piranti menyang workstation remot, lan padha bisa nggunakake printah installer pack manager ing platform Windows lan Linux kanggo nginstal artefak Qualcomm TFLite SDK menyang piranti (QCS8550)

Gambar 4-4 Sambungan papan piranti menyang pangembang lan workstation remot
Sambungan

Sambungake piranti menyang workstation

Piranti disambungake menyang workstation lan wadhah pangembangan bisa ngakses piranti liwat USB / adb.
Tokoh nuduhake staging urutan alur kerja Qualcomm TFLite SDK:
Sambungan

  1. Jalanake printah ing ngisor iki kanggo nginstal artefak menyang piranti:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. Kanggo instal artefak, jalanake printah ing ngisor iki:
    $ tflite-tools-device-packages-remove

Sambungake piranti menyang mesin remot

Piranti disambungake menyang mesin remot, lan wadhah Qualcomm TFLite SDK ora bisa ngakses piranti liwat USB / iklan b.
Tokoh nuduhake staging urutan alur kerja Qualcomm TFLite SDK:
Sambungan

Jalanake printah ing ngisor iki ing wadhah tflite-tools kanggo nyalin artefak menyang mesin remot
gumantung saka manajer paket ing piranti:
$ tflite-tools-remote-sync-ipk-rel-pkg
CATETAN Informasi mesin remot kasedhiya ing konfigurasi JSON file.
Instal artefak kanggo platform Windows
Artifak Qualcomm TFLite SDK bisa diinstal ing piranti adhedhasar sistem operasi mesin remot.

Kanggo platform Windows, tindakake ing ngisor iki:
Ing PowerShell, gunakake skrip ing ngisor iki: 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 Yen paket kasebut minangka ipk (kanggo QCS8550.LE.1.0), gunakake perintah ing ngisor iki: PS C:> adb shell " opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Instal artefak kanggo platform Linux
Gunakake printah ing ngisor iki:
$ 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 If paket kasebut minangka ipk (kanggo QCS8550.LE.1.0): $ adb shell "opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Ngresiki gambar docker
Sawise ngrampungake alur kerja pangembang, lingkungan docker kudu diresiki kanggo mbebasake panyimpenan ing disk. Ngresiki docker mbusak wadhah lan gambar sing ora digunakake, saéngga mbebasake ruang disk.
Gunakake printah ing ngisor iki kanggo ngresiki gambar docker:

  1. Jalanake printah ing ngisor iki ing workstation Linux:
    $cd /tflite-tools
  2. Mungkasi wadhah:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Copot wadhah:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Mbusak gambar docker lawas:
    $ tflite-tools-host-images-cleanup

Ngatasi masalah persiyapan docker

Yen printah tflite-tools-host-build-image ngasilake Nospace sing ditinggalake ing pesen piranti, banjur pindhah direktori docker menyang / lokal / mnt. Tindakake ing ngisor iki kanggo ngatasi masalah persiyapan:

  1. Gawe serep docker sing ana files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(tanggal + %s).tar.gz
  2. Mungkasi docker:
    $ layanan docker mandeg
  3. Verifikasi manawa ora ana proses docker sing mlaku:
    $ ps palsu | grep docker
  4. Priksa struktur direktori docker:
    $ sudo ls /var/lib/docker/
  5. Pindhah direktori docker menyang partisi anyar:
    $ mv /var/lib/docker /local/mnt/docker
  6. Gawe symlink menyang direktori docker ing partisi anyar:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Priksa manawa struktur direktori docker tetep ora owah:
    $ sudo ls /var/lib/docker/
  8. Miwiti docker:
    $ layanan docker miwiti
  9. Wiwiti maneh kabeh wadhah sawise mindhah direktori docker.

Nggawe TFLite SDK karo workstation Linux

Alur kerja TFLite SDK bisa diaktifake tanpa wadhah nggunakake workstation Linux. Prosedur iki minangka alternatif kanggo nggunakake wadhah.
Kanggo nyelarasake lan mbangun Qualcomm TFLite SDK, tindakake ing ngisor iki:

  1. Nggawe direktori ing host file sistem kanggo nyelarasake ruang kerja Qualcomm TFLite SDK. Kanggo example:
    $mkdir
    $cd
  2. Njupuk kode sumber Qualcomm TFLite SDK saka 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 && sinkronisasi repo -qc –ora-tags -j8
  3. 3. Sunting konfigurasi JSON file saiki ing /tflite-tools/ targets/le-tflite-tools-builder.json kanthi entri ing ngisor iki
    "Gambar": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: { “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”: “”
    Kanggo informasi luwih lengkap babagan entri kasebut ing konfigurasi json file, ndeleng Docker.md readme file ing /tflite-tools/.
    CATETAN Kanggo QCS8550, delegasi Hexagon DSP ora didhukung
  4. Sumber skrip kanggo nyiyapake lingkungan:
    $cd /tflite-tools
    $ sumber ./scripts/host/host_env_setup.sh
  5. Mbangun Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Jalanake printah utilitas ing ngisor iki ing cangkang Linux sing padha kanggo ngumpulake artefak TFLite SDK saka 
    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. Instal artefak adhedhasar sistem operasi
    • Kanggo platform Windows, ing PowerShell, gunakake skrip ing ngisor iki
      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
      Yen paket iku ipk (kanggo QCS8550.LE.1.0), gunakake printah ing ngisor iki:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Kanggo platform Linux, gunakake skrip ing ngisor iki:
      $ 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 Yen paket iku ipk (kanggo QCS8550.LE.1.0):
      $ adb shell "opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Gawe artefak Qualcomm TFLite SDK kanggo mbangun QIM SDK

Kanggo nggunakake artefak sing digawe kanggo ngaktifake plug-in Qualcomm TFLite SDK GStreamer ing QIM SDK, tindakake ing ngisor iki:

  1. Rampungake prosedur ing Sync lan mbangun Qualcomm TFLite SDK, banjur jalanake printah ing ngisor iki: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    A tar file digawe. Isine Qualcomm TFLite SDK ing path kasedhiya ing "TFLite_rsync_destination"
  2. Kanggo ngaktifake plug-in Qualcomm TFLite SDK GStreamer, gunakake tar file minangka argumen ing konfigurasi JSON file kanggo mbangun QIM SDK.
    Kanggo informasi babagan kompilasi QIM SDK, ndeleng Qualcomm Intelligent Multimedia SDK (QIM SDK) Pandhuan Mulai Cepet (80-50450-51).

Mbangun Qualcomm TFLite SDK incrementally

Yen sampeyan mbangun Qualcomm TFLite SDK kanggo pisanan, deleng Mbangun alat Qualcomm TFLite SDK - alur kerja pangembang. Lingkungan mbangun sing padha bisa digunakake maneh kanggo pangembangan tambahan.
Utilitas helper (ing wadhah) kasebut ing gambar kasedhiya kanggo pangembang kanggo ngumpulake aplikasi sing diowahi lan plug-in.
Gambar 5-1 Alur kerja ing wadhah

Sambungan

Sawise owah-owahan kode rampung ing direktori kode, tindakake ing ngisor iki:

  1. Kompilasi kode sing diowahi:
    $ tflite-tools-incremental-build-install
  2. Kode paket:
    $ tflite-tools-ipk-rel-pkg utawa $ tflite-tools-deb-rel-pkg
  3. Nyelarasake paket rilis karo host file sistem:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Siapke paket dev:
    $ tflite-tools-ipk-dev-pkg
    Artefak sing dikompilasi ditemokake ing folder TFLite_rsync_destination sing kasebut ing JSON file, sing bisa disalin menyang direktori apa wae.

Bisa karo QNN eksternal TFLite Delegate

Delegasi Eksternal TFLite ngidini sampeyan mbukak model (sebagian utawa kabeh) ing eksekutor liyane nggunakake perpustakaan sing diwenehake dening pihak katelu sing dipercaya kaya QNN dening Qualcomm. Mekanisme iki bisa nggunakake macem-macem akselerator ing piranti kayata GPU utawa Hexagon Tensor Processor (HTP) kanggo inferensi. Iki menehi pangembang cara fleksibel lan decoupled saka TFLite standar kanggo nyepetake inferensi.

prasyarat:

  • Priksa manawa sampeyan nggunakake workstation Ubuntu kanggo ngekstrak tumpukan QNN AI.
  • Priksa manawa sampeyan nggunakake versi QNN 2.14 bebarengan karo Qualcomm TFLite SDK

Qualcomm TFLite SDK diaktifake kanggo mbukak inferensi ing sawetara QNN back-end liwat TFLite external Delegate kanggo QNN. Model TFLite kanthi perwakilan flatbuffer umum bisa digunakake ing GPU lan HTP.
Sawise paket Qualcomm TFLite SDK diinstal ing piranti, tindakake ing ngisor iki kanggo nginstal perpustakaan QNN ing piranti.

  1. Download Qualcomm Package Manager 3 kanggo Ubuntu.
    a. Klik https://qpm.qualcomm.com/, banjur klik Tools.
    b. Ing panel kiwa, ing lapangan Alat Telusuran, ketik QPM. Saka dhaptar Sistem OS, pilih Linux.
    Asil panelusuran nampilake dhaptar Manajer Paket Qualcomm.
    c. Pilih Qualcomm Package Manager 3 lan download paket debian Linux.
  2. Instal Qualcomm Package Manager 3 kanggo Linux. Gunakake printah ing ngisor iki:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Ngundhuh Qualcomm®
    AI Engine Direct SDK ing workstation Ubuntu.
    a. Klik https://qpm.qualcomm.com/ lan klik Tools.
    b. Ing panel kiwa, ing lapangan Alat Telusuran, ketik tumpukan AI. Saka dhaptar Sistem OS, pilih Linux.
    A dhaftar gulung-mudhun ngemot macem-macem mesin tumpukan AI ditampilake.
    c. Klik Qualcomm® AI Engine Direct SDK lan download paket Linux v2.14.0.
  4. Instal Qualcomm® AI Engine Direct SDK ing stasiun kerja Ubuntu.
    a. Aktifake lisensi:
    qpm-cli –lisensi-aktifake qualcomm_ai_engine_direct
    b Instal AI Engine Direct SDK:
    $ qpm-cli –ekstrak /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Push perpustakaan menyang piranti saka workstation Ubuntu nganggo 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-vV73/unsigned/libQnnHt. dadi /usr/lib/rfsa/adsp

Tes Qualcomm TFLite SDK

Qualcomm TFLite SDK nyedhiyakake ex tartamtuample aplikasi, kang bisa digunakake kanggo ngesyahke, pathokan, lan njaluk akurasi model sing pangembang arep kanggo netepke.
Sawise paket Qualcomm TFLite SDK diinstal ing piranti, runtime kasedhiya ing piranti kanggo mbukak ex kasebut.ample aplikasi.
Prasyarat
Gawe direktori ing ngisor iki ing piranti:
$ adb shell "mkdir / data / Models"
$ adb shell "mkdir / data / Labels"
$ adb shell "mkdir / data / profiling"

Gambar label

Gambar label minangka sarana sing diwenehake dening Qualcomm TFLite SDK sing nuduhake carane sampeyan bisa mbukak model TensorFlow Lite sing wis dilatih lan diowahi lan digunakake kanggo ngenali obyek ing gambar. prasyarat:
Ngundhuh sampmodel lan gambar:
Sampeyan bisa nggunakake model apa wae sing kompatibel, nanging ing ngisor iki MobileNet v1 model nawakake demo apik saka model dilatih kanggo ngenali 1000 obyek beda.

  • Njupuk model
    $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/
  • Entuk 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/
    Sawise sampeyan nyambung menyang wadhah docker Qualcomm TFLite SDK, gambar kasebut bisa ditemokake ing:
    "/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
    a. Push iki file menyang/data/Label/
    b. Jalanake printah:
    $ 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"

pathokan

Qualcomm TFLite SDK nyedhiyakake alat benchmarking kanggo ngetung kinerja macem-macem wektu mlaku.
Piranti benchmark iki saiki ngukur lan ngetung statistik kanggo metrik kinerja penting ing ngisor iki:

  • Wektu wiwitan
  • Wektu inferensi saka kahanan pemanasan
  • Inferensi wektu kahanan ajeg
  • Panggunaan memori sajrone wektu wiwitan
  • Panggunaan memori sakabèhé

Prasyarat

Push model sing bakal diuji saka TFLite Model Zoo (https://tfhub.dev/) menyang/data/Model/. Run ing skrip ing ngisor iki:  

  • Paket 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=/data/profiling/”
  • Delegasi GPU
    $ adb shell “benchmark_model –graph=/data/Models/ — enable_op_profiling=true –use_gpu=true –num_runs=100 –warmup_runs=10 — max_secs=300 –profiling_output_csv_file=/data/profiling/”
  • Delegasi njaba
    GPU Delegasi Eksternal QNN:
    Jalanake inferensi kanthi model floating point:
    $ 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/rf /adsp'”
    HTP Delegasi Eksternal QNN:
    Run inferensi karo model 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.so;skel/ussalrary_lib/ /adsp'”

Alat akurasi

Qualcomm TFLite SDK menehi alat akurasi kanggo ngetung akurasi model karo macem-macem run-time.

  • Klasifikasi karo delegasi GPU
    Langkah-langkah kanggo ngundhuh sing perlu files kanggo nyoba bisa ditemokake ing: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
    Binar kanggo nglakokake alat iki wis dadi bagian saka SDK, mula pangembang ora perlu mbangun maneh.
    $ 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”
  • Deteksi obyek nganggo paket XNN
    $ adb shell “inf_diff_run_eval –model_file=/data/Model/ –delegate=xnnpac

INFORMASI LEGAL

Akses lan panggunaan dokumen iki, bebarengan karo spesifikasi, papan referensi files, gambar, diagnostik lan informasi liyane sing ana ing kene (bebarengan iki "Dokumentasi") tundhuk karo sampeyan (kalebu perusahaan utawa entitas legal liyane sing sampeyan wakili, bebarengan "Sampeyan" utawa "Panjenengan") nrima syarat lan kahanan (“Ketentuan Penggunaan”) diaturake ing ngisor iki. Yen Sampeyan ora setuju karo Katentuan Pangginaan supados langkung, sampeyan ora bisa nggunakake Dokumentasi iki lan bakal langsung numpes salinan sembarang.

  1. Kabar Legal.
    Dokumentasi iki kasedhiya kanggo Sampeyan mung kanggo panggunaan internal karo produk lan penawaran layanan Qualcomm Technologies, Inc. ("Qualcomm Technologies") lan afiliasi sing diterangake ing Dokumentasi iki, lan ora bakal digunakake kanggo tujuan liyane. Dokumentasi iki ora bisa diowahi, diowahi, utawa diowahi kanthi cara apa wae tanpa persetujuan tertulis sadurunge Qualcomm Technologies. Panggunaan utawa pambocoran iki ora sah
    Dokumentasi utawa informasi sing ana ing kene dilarang banget, lan Sampeyan setuju kanggo menehi ganti rugi Qualcomm Technologies, afiliasi lan pemberi lisensi kanggo karusakan utawa kerugian sing dialami Qualcomm Technologies, afiliasi lan pemberi lisensi kanggo panggunaan utawa pambocoran sing ora sah saka Dokumentasi iki, kanthi wutuh utawa bagean. Qualcomm Technologies, afiliasi lan pemberi lisensi nahan kabeh hak lan kepemilikan ing lan kanggo Dokumentasi iki. Ora ana lisensi kanggo merek dagang, paten, hak cipta, hak perlindungan karya topeng utawa hak properti intelektual liyane sing diwenehake utawa diwenehake dening Dokumentasi iki utawa informasi apa wae sing dibeberke ing kene, kalebu, nanging ora diwatesi, lisensi kanggo nggawe, nggunakake, ngimpor utawa ngedol produk, layanan utawa teknologi apa wae sing nyedhiyakake informasi apa wae ing Dokumentasi iki.
    DOKUMENTASI IKI DISEDIAKAN "MADIUN" TANPA JAMINAN APA SAJA, APA DIBUKA, TERSIRAT, STATUTORY UTAWA LAIN. SAMPAI MAKSIMUM sing diidini dening HUKUM, TEKNOLOGI QUALCOMM, AFILIASI lan LISENSI KHUSUS NANGGO SEMUA JAMINAN JUDUL, KEBUTUHAN DAGANG, NON-PELANGGARAN, KESESUAIAN UNTUK TUJUAN KHUSUS, KEPUASAN, KEPUASAN OUT OF TRADE Panganggone UTAWA OUT OF KURSUS DEALING UTAWA KURSUS KINERJA. Kajaba iku, TEKNOLOGI QUALCOMM, Utawa AFILIASI UTAWA LISENSI, ora bakal tanggung jawab marang sampeyan UTAWA PIHAK KETIGA kanggo biaya, KERUGIAN, PENGGUNAAN, UTAWA TINDAKAN, APA wae sing ditindakake utawa ditindakake dening sampeyan.
    Kit produk, alat lan materi tartamtu sing dirujuk ing Dokumentasi iki mbutuhake sampeyan nampa syarat lan katemtuan tambahan sadurunge ngakses utawa nggunakake item kasebut.
    Data teknis sing ditemtokake ing Dokumentasi iki bisa uga tundhuk marang AS lan hukum kontrol ekspor liyane sing ditrapake. Transmisi sing bertentangan karo AS lan hukum liyane sing ditrapake dilarang banget.
    Ora ana ing Dokumentasi iki minangka tawaran kanggo ngedol komponen utawa piranti sing dirujuk ing kene.
    Dokumentasi iki bisa diganti tanpa kabar luwih lanjut. Yen ana konflik antarane Katentuan Pangginaan supados langkung lan Websitus Katentuan Pangginaan supados langkung ing www.karajawa.com utawa Kebijakan Privasi Qualcomm sing dirujuk ing www.karajawa.com, Katentuan Pangginaan supados langkung kontrol. Yen ana konflik antarane Katentuan Panggunaan iki lan persetujuan liyane (ditulis utawa klik-liwat) sing ditindakake dening Sampeyan lan Qualcomm Technologies utawa afiliasi Qualcomm Technologies babagan akses lan panggunaan Dokumentasi iki, persetujuan liyane bakal ngontrol .
    Katentuan Pangginaan supados langkung diatur lan ditegesi lan dileksanakake miturut hukum Negara Bagian California, ora kalebu Konvensi PBB babagan Penjualan Barang Internasional, tanpa nggatekake konflik prinsip hukum. Sembarang regejegan, pratelan utawa kontrovèrsi njedhul saka utawa hubungane karo Katentuan Pangginaan supados iki, utawa nerbitake utawa validitas saka kene, bakal diadili mung dening pengadilan wewenang yurisdiksi ing county San Diego, State of California, lan sampeyan idin kanggo yurisdiksi pribadi saka pengadilan kuwi kanggo maksud sing.
  2. Pranyatan Atribusi Merek Dagang lan Produk.
    Qualcomm minangka merek dagang utawa merek dagang kadhaptar saka Qualcomm Incorporated. Arm minangka merek dagang kadhaptar saka Arm Limited (utawa anak perusahaan) ing AS lan/utawa ing papan liya. Tandha tembung Bluetooth® minangka merek dagang kadhaptar sing diduweni dening Bluetooth SIG, Inc. Produk lan jeneng merek liyane sing dirujuk ing Dokumentasi iki bisa uga merek dagang utawa merek dagang kadhaptar saka sing nduweni.
    Produk bermerek Snapdragon lan Qualcomm sing dirujuk ing Dokumentasi iki minangka produk saka Qualcomm Technologies, Inc. lan/utawa anak perusahaan. Teknologi paten Qualcomm dilisensi dening Qualcomm Incorporated.

Logo Perusahaan

Dokumen / Sumber Daya

Piranti Lunak SDK Qualcomm TensorFlow Lite [pdf] Pandhuan pangguna
TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *