Akwụkwọ ntuziaka onye ọrụ Qualcomm TensorFlow Lite SDK
Akara ụlọ ọrụ

Akụkọ ngbanwe

Ndozigharị Ụbọchị Nkọwa
AA Septemba 2023 Ntọhapụ mbụ
AB Ọktoba 2023

Okwu mmalite nke Qualcomm TFLite SDK ngwaọrụ

Ngwa ngwa mmepe ngwanrọ Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) na-enye usoro TensorFlow Lite maka inferencing na ngwaọrụ (AI), nke na-enyere ndị mmepe ngwa aka ịzụlite ma ọ bụ mee ngwa AI dabara adaba.
Akwụkwọ a na-enye ntụzịaka nzọụkwụ iji chịkọta Qualcomm TFLite SDK kwụ ọtọ ma guzobe gburugburu mmepe. Nke a na-enyere ndị nrụpụta ọrụ aka ịrụ ọrụ, nke gụnyere:

  • melite gburugburu ebe obibi ebe onye nrụpụta nwere ike chịkọta Qualcomm TFLite SDK
  • na-emepe ngwa Qualcomm TFLite SDK kwụ ọtọ

Maka nkwado, hụhttps://www.njikọ.ee/nkwado. Ọnụ ọgụgụ na-esonụ na-enye nchịkọta nke Qualcomm TFLite SDK workflow: "
Ọgụgụ 1-1 Qualcomm TFLite SDK na-arụ ọrụ
Ngwa ahụ chọrọ SDK ikpo okwu yana nhazi file (Ọkpụrụkpụ JSON) iji mepụta arịa Qualcomm TFLite SDK.

Iji wuo ngwa ngwụcha na ngwụcha site na iji sistemụ mgbasa ozi, AI, na ọhụụ kọmputa (CV), lee Qualcomm Intelligent Multimedia SDK (QIM SDK) Ntuziaka mmalite ngwa ngwa (80-50450-51).
Tebụlụ ahụ na-egosi maapụ ụdị Qualcomm TFLite SDK yana ntọhapụ CodeLinaro tag:
Tebụl 1-1 ozi mwepụta
Njikọ

Ụdị nke Qualcomm TFlite SDK Ntọhapụ CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Tebụl 1-2 Ụdị Qualcomm TFLite SDK akwadoro

Qualcomm Ụdị SDK TFlite Ngwaahịa ngwanrọ akwadoro Ụdị TFlite akwadoro
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Ntụaka
Tebụl 1-3 akwụkwọ ndị metụtara ya

Aha Nọmba
Qualcomm
00067.1 ndetu mwepụta maka QCS8550.LE.1.0 RNO-230830225415
Qualcomm nwere ọgụgụ isi Multimedia SDK (QIM SDK) Ntuziaka mmalite ngwa ngwa 80-50450-51
Ntụtụ aka nke Qualcomm Multimedia SDK (QIM SDK). 80-50450-50
Akụrụngwa
https://source.android.com/docs/setup/start/initializing

Tebụl 1-4 Mbiri okwu na nkọwapụta

Acronym ma ọ bụ okwu Nkọwa
AI Amamịghe echiche
BIOS Sistemụ ntinye/mpụta ihe bụ isi
CV Kọmputa ọhụụ
IPK ngwugwu Itsy file
QIM SDK Ngwa mmepe ngwanrọ multimedia Qualcomm nwere ọgụgụ isi
SDK Ngwa mmepe ngwanrọ
TFlite TensorFlow Lite
XNN Xth onye agbata obi kacha nso

Hazie gburugburu ebe obibi maka ngwaọrụ Qualcomm TFLite SDK

A na-ewepụta ngwaọrụ Qualcomm TFLite SDK n'ụdị isi mmalite; ya mere, iguzobe ebe a na-ewu ụlọ iji chịkọta ya bụ ihe a na-amanyere n'iwu mana nhazi otu oge.

Ihe achọrọ

  • Gbaa mbọ hụ na ị nwere sudoaccess na igwe nnabata Linux.
  • Gbaa mbọ hụ na ụdị nnabata Linux bụ Ubuntu 18.04 ma ọ bụ Ubuntu 20.04.
  • Mee ka elekere onye ọrụ kachasị yana ihe atụ onye ọrụ kachasị na sistemụ nnabata.
  • Tinye ahịrị iwu ndị a na/etc/sysctl.confand malitegharịa onye ọbịa: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Wụnye ngwugwu nnabata achọrọ

A na-etinye ngwugwu ndị ọbịa na igwe nnabata Linux.
Gbaa iwu iji wụnye ngwugwu ndị ọbịa: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Maka Ubuntu 18.04 na elu:
$ sudo apt-nweta wụnye git-core gnupg flex bison build-dị mkpa 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 xslt
Maka ozi ndị ọzọ, hụ https://sanyi.android.com/docs/setup/mbido/ịmalite.

Hazie gburugburu docker

Docker bụ ikpo okwu eji arụ ọrụ, wulite, nwalee na ibuga ngwanrọ. Iji chịkọta SDK, a ga-ahazi docker na igwe nnabata Linux.
Gbaa mbọ hụ na agbanyere ikike ikike CPU na igwe nnabata Linux. Ọ bụrụ na enyeghị ya aka, mee ihe ndị a iji mee ka ọ nwee ike site na ntọala ntọala ntọala / ntinye (BIOS):

  1. Kwado virtualization site na BIOS:
    a. Pịa F1 ma ọ bụ F2 mgbe sistemụ na-ebuli ka ịbanye na BIOS. A na-egosipụta windo BIOS.
    b. Banye na taabụ di elu.
    c. Na ngalaba nhazi CPU, tọọ teknụzụ Virtualization ka enyere.
    a. Pịa F12 ka ịchekwaa wee pụọ, wee malitegharịa sistemụ.
    Ọ bụrụ na usoro ndị a anaghị arụ ọrụ, soro ntuziaka akọwapụtara nke sitere na ndị na-eweta sistemu iji mee ka ike gwụ
  2. Wepu ihe ochie ọ bụla nke docker:
    $ sudo dabara ewepu docker-desktop
    $ rm -r $HOME/.docker/desktọọpụ
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo dabara na-ehichapụ docker-desktọọpụ
  3.  Hazie ebe nchekwa ebe nchekwa docker:
    $ sudo apt-nweta mmelite $ sudo apt-nweta wụnye ca-certificates curl gnupg lsb-nhapụ $ 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) bịanyere aka na ya =/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) kwụsiri ike" | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Wụnye igwe docker:
    $ sudo apt-nweta mmelite $ sudo apt-nweta docker-ce docker-ce-cli
  5.  Tinye onye ọrụ na otu docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Malitegharịa ekwentị sistemụ.

Mepụta SDK ikpo okwu

SDK ikpo okwu bụ ihe achọrọ iji chịkọta ngwaọrụ Qualcomm TFLite SDK. Ọ na-enye nkwado ndabere niile achọrọ nke Qualcomm TFLite SDK chọrọ.
Mee ihe ndị a ka ịmepụta SDK ikpo okwu:

  1. Mepụta ihe wuo maka ngwaahịa ngwanrọ masịrị.
    Enyere ntuziaka iji wuo mwepụta QCS8550.LE.1.0 na ndetu ntọhapụ. Iji nweta ndetu ntọhapụ, hụ ntụaka.
    Ọ bụrụ na ewuru ihe onyonyo a na mbụ, mee nzọụkwụ 2, wee mepụta ihe nrụpụta dị ọcha.
  2. Gbaa iwu a ka iwulite onyonyo oghere na SDK nke onye ọrụ:
    Maka QCS8550.LE.1.0, tinye njirimara igwe qti-tflite-delegate na MACHINE_FEATURES na kalama.conf file ma wepụta gburugburu ebe obibi dịka ntuziaka sitere na ndetu ntọhapụ.
    Mgbe imepụtachara onyonyo oghere onye ọrụ site na wuo, mee iwu a ka imepụta SDK ikpo okwu.
    $ bitbake -fc populate_sdk qti-robotics-onyinyo

Wulite ngwa Qualcomm TFLite SDK - onye nrụpụta ọrụ

Ngwa ọrụ Qualcomm TFlite SDK na-arụ ọrụ chọrọ onye nrụpụta ka ọ nye nhazi ahụ file nwere ndenye ntinye dị mma. Ihe odide shei onye na-enyere aka site na tflite-tools project (nke dị ugbu a na Qualcomm TFLite SDK isi iyi) na-enye ọrụ enyemaka iji melite gburugburu shei, nke enwere ike iji maka Qualcomm TFLite SDK workflow.
Onye nrụpụta na-ewulite ọrụ Qualcomm TFLite SDK n'ime akpa wee mepụta arịa ndị ahụ site na iji ngwa ndị tflite-ngwaọrụ nyere.
Mgbe emechara akpa Qualcomm TFLite SDK, onye nrụpụta nwere ike itinye aka na akpa wee jiri ihe enyemaka na mpaghara shei akpa maka mmepe na-aga n'ihu.

  • Enwere ndokwa iji wụnye Qualcomm TFLite SDK artifacts na ngwaọrụ Qualcomm ejikọrọ na Linux host site na USB/adb.
  • Enwekwara ndokwa iji detuo Qualcomm TFLite SDK artifacts site na akpa gaa na igwe nnabata dị iche ebe ejikọrọ ngwaọrụ Qualcomm.
    Njikọ

Ọnụọgụ na-esonụ na-edepụta usoro ihe eji arụ ọrụ dị mgbe ịtọlitechara gburugburu ebe a na-ewu akpa site na iji edemede enyemaka maka iwulite Qualcomm TFLite SDK.
Njikọ

Ọnụọgụ ahụ na-egosi usoro mmezu nke ngwa ọrụ:
Ọgụgụ 4-3 Usoro akụrụngwa na nnabata
Njikọ

Mekọrịta ma wuo Qualcomm TFLite SDK
A na-achịkọta Qualcomm TFLite SDK mgbe emepụtara onyonyo docker. Iji mekọrịta ma wuo Qualcomm TFLite SDK, mee ihe ndị a:

  1. Mepụta ndekọ na onye ọbịa file sistemu iji mekọrịta Qualcomm TFLite SDK workspace. Maka
    exampLe: $mkdir $cd
  2. Weta koodu isi iyi Qualcomm TFLite SDK sitere na 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 ntọhapụ && repo sync -qc -no-tags -j
  3. Mepụta ndekọ na onye ọbịa file usoro nke enwere ike itinye n'ime docker. Maka example: mkdir-p / Enwere ike ịmepụta ndekọ a ebe ọ bụla na igwe nnabata Linux, ọ dabereghị na ebe arụnyere ọrụ Qualcomm TFLite SDK. Mgbe arụchara ọrụ ahụ n'ime akpa ahụ, enwere ike ịhụ ihe ndị Qualcomm TFLite SDK na ndekọ aha emepụtara na usoro a.
  4. Dezie nhazi JSON file dị na /tflite-tools/ targets/le-tflite-tools-builder.json nwere ndenye ndị a:
    "Onyonyo": "tflite-tools-builder", "Device_OS": "le", "Mgbakwunye_tag": "", "TFLite_Version": "2.11.1", "Ndị nnọchiteanya": {"Hexagon_delegate":" Gbanyụọ", "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": "" }
    Maka ozi ndị ọzọ na ndenye ndị a kpọtụrụ aha na nhazi json file, lee Docker.md readme file na /tflite-tools/.
    IHE Maka QCS8550, anaghị akwado ndị nnọchi anya Qualcomm® Hexagon™ DSP.
  5. Mepụta edemede iji guzobe gburugburu:
    $ cd /tflite-tools $ isi iyi ./scripts/host/docker_env_setup.sh
  6.  Mee ihe oyiyi docker Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Ọ bụrụ na ntọlite ​​​​ụlọ ahụ daa, lee Nhazi nsogbu docker. Mgbe emechara nke ọma, a ga-egosipụta ozi na-esonụ: "Ọnọdụ: Mee ihe oyiyi emechara nke ọma!!" Ịgba ọsọ a na-ewulikwa Qualcomm TFLite SDK.
  7.  Gbaa akpa Qualcomm TFLite SDK docker. Nke a na-amalite akpa ahụ na tags enyere na nhazi JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Tinye na akpa ahụ malitere site na nzọụkwụ gara aga.
    $ docker tinye

Achịkọtara Qualcomm TFLite SDK, yana ihe ndị ahụ adịla njikere ibuga ma ọ bụ gaa n'ihu.
eji ewepụta nkwụnye QIM SDK TFLite.

Jikọọ ngwaọrụ ka ị nọrọ n'ụlọ ma bufee ihe arịa.]

Mgbe achịkọtachara, enwere usoro abụọ iji jikọọ ngwaọrụ na onye ọbịa wee bukwaa ya
Ihe nka nke Qualcomm TFLite SDK.

  • Ngwa ejikọrọ na onye nnabata Linux mpaghara:
    Onye nrụpụta na-ejikọ ngwaọrụ ahụ na ebe a na-arụ ọrụ wee tinye arịa Qualcomm TFLite SDK sitere na akpa ozugbo na ngwaọrụ ahụ (QCS8550).
  • Ngwaọrụ ejikọrọ na onye ọbịa dịpụrụ adịpụ:
    Onye nrụpụta na-ejikọ ngwaọrụ ahụ na ebe a na-arụ ọrụ dịpụrụ adịpụ, ha nwere ike iji iwu installer onye njikwa ngwugwu na nyiwe Windows na Linux iji wụnye Qualcomm TFLite SDK artifacts na ngwaọrụ ahụ (QCS8550)

Ọgụgụ 4-4 Njikọ nke bọọdụ ngwaọrụ na onye nrụpụta na ebe ọrụ dịpụrụ adịpụ
Njikọ

Jikọọ ngwaọrụ na ebe arụ ọrụ

Ejikọtara ngwaọrụ ahụ na ebe a na-arụ ọrụ yana akpa mmepe nwere ike ịnweta ngwaọrụ ahụ n'elu USB/adb.
Ọnụ ọgụgụ ahụ na-egosi stages n'usoro nke Qualcomm TFLite SDK workflow:
Njikọ

  1. Gbaa iwu ndị a ka ịwụnye ngwa ngwa na ngwaọrụ:
    $ tflite-ngwaọrụ-ngwaọrụ-kwado
    $ tflite-ngwaọrụ-ngwaọrụ-ebuga
  2. Iji wepụ ihe arụrụ arụ, gbaa iwu a:
    $ tflite-ngwaọrụ-ngwaọrụ-ngwugwu-wepu

Jikọọ ngwaọrụ na igwe dịpụrụ adịpụ

Ejikọtara ngwaọrụ ahụ na igwe dịpụrụ adịpụ, na akpa Qualcomm TFLite SDK enweghị ike ịnweta ngwaọrụ n'elu USB/ad b.
Ọnụ ọgụgụ ahụ na-egosi stages n'usoro nke Qualcomm TFLite SDK workflow:
Njikọ

Gbaa iwu ndị a n'ime akpa tflite-tools ka idetuo ihe ndị ahụ na igwe dịpụrụ adịpụ
dabere na njikwa ngwugwu dị na ngwaọrụ:
$ tflite-ngwaọrụ-remote-sync-ipk-rel-pkg
IHE Enyere ozi igwe dịpụrụ adịpụ na nhazi JSON file.
Wụnye artifact maka ikpo okwu Windows
Enwere ike itinye arịa Qualcomm TFLite SDK na ngwaọrụ dabere na sistemụ arụmọrụ nke igwe dịpụrụ adịpụ.

Maka ikpo okwu Windows, mee ihe ndị a:
Na PowerShell, jiri edemede a: PS C:
> adb mgbọrọgwụ PS C:> adb disable-verity PS C:> adb reboot PS C:> adb chere maka ngwaọrụ PS C:> adb mgbọrọgwụ PS C:> adb remount PS C:> adb shei mount -o remount, rw / PS C:> adb shei “mkdir -p /tmp” PS C:> adb push /tmp Ọ bụrụ na ngwugwu bụ ipk (maka QCS8550.LE.1.0), jiri iwu ndị a: PS C:> adb shei “ opkg –force-adabere –force-reinstall –force-overwrite install /tmp/”

Wụnye artifact maka ikpo okwu Linux
Jiri iwu ndị a:
$ adb mgbọrọgwụ $ adb disable-verity $ adb reboot $ adb echere ngwaọrụ $ adb mgbọrọgwụ $ adb remount $ adb shell mount -o remount,rw / $ adb shei “mkdir -p /tmp” $ adb push /tmp Ọ bụrụ ngwugwu bụ ipk (maka QCS8550.LE.1.0): $ adb shei “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Hichaa onyonyo docker
Mgbe emechara usoro ọrụ onye nrụpụta, a ga-ehichapụ ebe docker iji tọhapụ nchekwa na diski ahụ. Ihicha docker na-ewepụ arịa na onyonyo ndị na-ejighị ya, si otú a na-ahapụ ohere diski ahụ.
Jiri iwu ndị a iji hichaa onyonyo docker:

  1. Gbaa iwu a na ebe ọrụ Linux:
    $ cd /tflite-ngwaọrụ
  2. Kwụsị akpa ahụ:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Wepu akpa ahụ:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Wepu onyonyo docker ochie:
    $ tflite-ngwaọrụ-onye ọbịa-ihe onyonyo-ehichapụ

Ntọlite ​​docker nsogbu

Ọ bụrụ na iwu tflite-tools-host-build-image weghachite Nospace hapụrụ na ozi ngwaọrụ, wee bugharịa ndekọ docker gaa na/local/mnt. Mee ihe ndị a iji dozie nhazi ahụ:

  1. Kwado docker dị ugbu a files:
    $ tar -zcC /var/lib docker> /mnt/pd0/var_lib_docker-backup-$(ụbọchị +%s) .tar.gz
  2. Kwụsị ọdụ ụgbọ mmiri:
    $ nkwụsị ọdụ ụgbọ mmiri
  3. Chọpụta na ọ nweghị usoro docker na-arụ:
    $ps faux | grep docker
  4. Lelee nhazi ndekọ docker:
    $ sudo ls /var/lib/docker/
  5. Bugharịa ndekọ docker gaa na nkebi ọhụrụ:
    $ mv /var/lib/docker /local/mnt/docker
  6. Mepụta symlink na ndekọ ndekọ docker na nkebi ọhụrụ:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Gbaa mbọ hụ na nhazi ndekọ aha docker ka agbanwebeghị:
    $ sudo ls /var/lib/docker/
  8. Malite docker:
    $ ọrụ docker mmalite
  9. Malitegharịa akpa ahụ niile ka ịkwagharị akwụkwọ ndekọ aha docker.

Mepụta TFlite SDK na arụ ọrụ Linux

Enwere ike ịgbanye usoro TFLite SDK na-enweghị arịa site na iji ọrụ Linux. Usoro a bụ ihe ọzọ na-eji containers.
Iji mekọrịta ma wuo Qualcomm TFLite SDK, mee ihe ndị a:

  1. Mepụta ndekọ na onye ọbịa file sistemu iji mekọrịta Qualcomm TFLite SDK workspace. Maka exampLe:
    $mkdir
    $cd
  2. Weta koodu isi iyi Qualcomm TFLite SDK sitere na 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 ntọhapụ && repo sync -qc -no-tags -j8 && repo mmekọrịta -qc - enweghị-tags -j8
  3. 3. Dezie nhazi JSON file dị na /tflite-tools/ targets/le-tflite-tools-builder.json na ndenye ndị a
    "Onyonyo": "tflite-tools-builder", "Device_OS": "le", "Mgbakwunye_tag": "", "TFLite_Version": "2.11.1", "Ndị nnọchiteanya": {"Hexagon_delegate":" Gbanyụọ", "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": ""
    Maka ozi ndị ọzọ na ndenye ndị a kpọtụrụ aha na nhazi json file, lee Docker.md readme file na /tflite-ngwaọrụ/.
    IHE Maka QCS8550, akwadoghị ndị nnọchi anya Hexagon DSP
  4. Mepụta edemede iji guzobe gburugburu:
    $ cd /tflite-ngwaọrụ
    $ isi ./scripts/host/host_env_setup.sh
  5. Mepụta Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Gbaa iwu ịba uru ndị a n'otu shei Linux iji nakọta ihe arịa TFLite SDK site na 
    TFlite_rsync_ebe.
    $ 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. Wụnye artifact dabere na sistemụ arụmọrụ
    • Maka ikpo okwu Windows, na PowerShell, jiri edemede a
      PS C:> adb mgbọrọgwụ PS C:> adb disable-verity PS C:> adb reboot PS C:> adb ichere maka ngwaọrụ PS C:> adb mgbọrọgwụ PS C:> adb remount PS C:> adb shei ugwu - o remount, rw / PS C:> adb shei “mkdir -p / tmp” PS C:> adb push / tmp
      Ọ bụrụ na ngwugwu bụ ipk (maka QCS8550.LE.1.0), jiri iwu ndị a:
      PS C:> adb shei “opkg –force-dabere –force-reinstall –forceoverwrite install /tmp/
      Maka ikpo okwu Linux, jiri edemede a:
      $ adb mgbọrọgwụ $ adb disable-verity $ adb reboot $ adb chere maka ngwaọrụ $ adb mgbọrọgwụ $ adb remount $ adb shell mount -o remount,rw / $ adb shei “mkdir -p /tmp” $ adb push /tmp Ọ bụrụ na ngwugwu bụ ipk (maka QCS8550.LE.1.0):
      $ adb shei “opkg –force-dabere –force-reinstall –force-overwrite install /tmp/”

Mepụta arịa Qualcomm TFLite SDK maka wuo QIM SDK

Iji jiri ihe arụpụtara iji mee ka nkwụnye Qualcomm TFLite SDK GStreamer dị na QIM SDK, mee ihe ndị a:

  1. Mezue usoro na mmekọrịta wee wuo Qualcomm TFLite SDK, wee mee iwu a: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    A tar file na-emepụta. Ọ nwere Qualcomm TFLite SDK n'ụzọ enyere na "TFLite_rsync_ebe"
  2. Iji mee ka nkwụnye Qualcomm TFLite SDK GStreamer, jiri tar file dị ka arụmụka na nhazi JSON file maka wulite QIM SDK.
    Maka ozi gbasara ịchịkọta QIM SDK, hụ Qualcomm Intelligent Multimedia SDK (QIM SDK) Ntuziaka mmalite ngwa ngwa (80-50450-51).

Rụlite Qualcomm TFLite SDK gbakwunyere

Ọ bụrụ na ị na-ewu Qualcomm TFLite SDK maka oge mbụ, lee Mee Qualcomm TFLite SDK ngwaọrụ - onye nrụpụta workflow. Enwere ike ijikwa otu gburugburu ebe a na-ewu ụlọ maka mmepe agbakwunyere.
Ihe enyemaka enyemaka (n'ime akpa) a kpọtụrụ aha na ọnụ ọgụgụ a dị maka ndị mmepe iji chịkọta ngwa ndị gbanwetụrụ na nkwụnye.
Ọgụgụ 5-1 Nrụ ọrụ n'ime akpa

Njikọ

Mgbe emechara mgbanwe koodu na ndekọ koodu, mee ihe ndị a:

  1. Chịkọta koodu emezigharịrị:
    $ tflite-ngwaọrụ-ịkwalite-ewu-wụnye
  2. Koodu achịkọtara ngwugwu:
    $ tflite-tools-ipk-rel-pkg ma ọ bụ $ tflite-tools-deb-rel-pkg
  3. Mekọrịta ngwugwu ntọhapụ gị na onye ọbịa file Sistemu:
    $ tflite-ngwaọrụ-remote-sync-ipk-rel-pkg
    Or
    $ tflite-ngwaọrụ-remote-sync-deb-rel-pkg
  4. Kwadebe ngwugwu dev:
    $ tflite-ngwaọrụ-ipk-dev-pkg
    A na-ahụ ihe ndị a chịkọtara na folda TFLite_rsync_destination nke a kpọtụrụ aha na JSON. file, nke enwere ike iṅomi ya na ndekọ aha ọ bụla.

Na-arụ ọrụ na QNN mpụga TFlite Delegate

Onye nnọchi anya Mpụga TFLite na-enye gị ohere ịme ụdị gị (akụkụ ma ọ bụ dum) na onye nrụpụta ọzọ site na iji ọba akwụkwọ nke ndị ọzọ tụkwasịrị obi dị ka QNN nke Qualcomm nyere. Usoro a nwere ike itinye ọtụtụ ngwa ngwa na ngwaọrụ dị ka GPU ma ọ bụ Hexagon Tensor Processor (HTP) maka ntinye. Nke a na-enye ndị mmepe ụzọ mgbanwe na nke ejikọtaghị ya site na TFlite ndabara iji mee ka ntinye aka dị ngwa.

Ihe achọrọ:

  • Gbaa mbọ hụ na ị na-eji ebe ọrụ Ubuntu wepụta nchịkọta QNN AI.
  • Gbaa mbọ hụ na ị na-eji ụdị QNN 2.14 iji nọrọ na njikọ Qualcomm TFLite SDK

A na-enyere Qualcomm TFLite SDK aka ịme ntụnye n'ọtụtụ azụ azụ QNN site na TFLite Mpụga Delegate maka QNN. Ụdị TFLite nwere ihe nnọchianya flatbuffer nkịtị nwere ike ịgba ọsọ na GPU na HTP.
Mgbe etinyechara ngwugwu Qualcomm TFLite SDK na ngwaọrụ ahụ, mee ihe ndị a ka ịwụnye ọba akwụkwọ QNN na ngwaọrụ ahụ.

  1. Budata Qualcomm Package Manager 3 maka Ubuntu.
    a. Pịahttps://qpm.qualcomm.com/, wee pịa Ngwaọrụ.
    b. N'akụkụ aka ekpe, na mpaghara Ngwa Ngwa, pịnye QPM. Site na ndepụta os sistemụ, họrọ Linux.
    Nsonaazụ ọchụchọ ahụ gosipụtara ndepụta nke ndị njikwa ngwugwu Qualcomm.
    c. Họrọ Qualcomm Package Manager 3 wee budata ngwugwu debian Linux.
  2. Wụnye Qualcomm Package Manager 3 maka Linux. Jiri iwu a:
    $ dpkg -i – Force-overwrite /ụzọ/to/
    Onye njikwa QualcommPackage 3.3.0.83.1.Linux-x86.deb
  3. Budata Qualcomm®
    AI Engine Direct SDK na ọrụ Ubuntu.
    a. Pịa https://qpm.qualcomm.com/ wee pịa Ngwaọrụ.
    b. N'akụkụ aka ekpe, na mpaghara Ngwa Ngwa, pịnye AI stack. Site na ndepụta os sistemụ, họrọ Linux.
    A egosiputara ndepụta ndọda nwere igwe ngwungwu AI dị iche iche.
    c. Pịa Qualcomm® AI Engine Direct SDK wee budata ngwugwu Linux v2.14.0.
  4. Wụnye Qualcomm® AI Engine Direct SDK na ọrụ Ubuntu.
    a. Tinye akwụkwọ ikike:
    qpm-cli –license-activate qualcomm_ai_engine_direct
    b Wụnye AI Engine Direct SDK:
    $ qpm-cli –extract /ụzọ/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Tinye ọba akwụkwọ na ngwaọrụ site na Ubuntu na-arụ ọrụ na 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/tpVQnn73Skel so /usr/lib/rfsa/adsp

Nwalee Qualcomm TFlite SDK

Qualcomm TFLite SDK na-enye ụfọdụ exampngwa, nke enwere ike iji kwado, benchmark, na nweta izi ezi nke ụdị nke onye nrụpụta chọrọ inyocha.
Mgbe etinyechara ngwugwu Qualcomm TFLite SDK na ngwaọrụ ahụ, oge ịgba ọsọ dị na ngwaọrụ iji mee ihe ndị a.ample ngwa.
Ihe achọrọ
Mepụta akwụkwọ ndekọ aha ndị a na ngwaọrụ:
$ adb shei "mkdir / data / Models"
$ adb shei “mkdir /data/Lables”
$ adb shei "mkdir / data/profiling"

Ihe onyonyo akara

Onyonyo akara bụ ngwa nke Qualcomm TFLite SDK nyere nke na-egosi otu ị ga-esi buru ụdị TensorFlow Lite emegoro azụgoro wee jiri ya mata ihe dị na onyonyo. Ihe achọrọ:
Budata sample model na image:
Ị nwere ike iji ụdị ọ bụla dakọtara, mana ụdị MobileNet v1 a na-enye ihe ngosi dị mma nke ihe nlereanya a zụrụ azụ ịmata ihe 1000 dị iche iche.

  • Nweta ihe nlereanya
    $ curl https://nchekwa.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/
  • Nweta akara
    $ curl https://nchekwa.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/
    Mgbe ijikọ na akpa Docker Qualcomm TFLite SDK, enwere ike ịhụ onyonyo a na:
    "/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Tinye ihe a file ka/data/Akara aha/
    b. Gbaa iwu ahụ:
    $ adb shei "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

Qualcomm TFLite SDK na-enye ngwá ọrụ benchmarking iji gbakọọ arụmọrụ nke oge ọsọ dị iche iche.
Ngwa benchmark ndị a na-atụ ugbu a ma gbakọọ ọnụ ọgụgụ maka metrik arụmọrụ dị mkpa ndị a:

  • Oge mmalite
  • Oge ntinye nke ọnọdụ okpomọkụ
  • Oge ntinye aka nke steeti kwụ ọtọ
  • Ojiji ebe nchekwa n'oge mbido
  • Ojiji ebe nchekwa n'ozuzu ya

Ihe achọrọ

Pịa ụdị a ga-anwale site na TFLite Model Zoo (https://tfhub.dev/) ka/data/Models/. Gbaa ya edemede ndị a:  

  • XNN ngwugwu
    $ adb shei "benchmark_model -graph = / data / Models / - enable_op_profiling = ezi -use_xnnpack = ezi -num_threads = 4 -max_secs = 300 -profiling_output_csv_file=/data/profiling/”
  • Ndị nnọchi anya GPU
    $ adb shei "benchmark_model -graph = / data / Models / - enable_op_profiling = ezi -use_gpu = ezi -num_runs = 100 -warmup_runs = 10 - max_secs = 300 -profiling_output_csv_file=/data/profiling/”
  • Onye nnọchi anya mpụga
    GPU Mpụga nke QNN:
    Jiri ụdị ihe nlegharị anya sere n'elu:
    $ adb shell-iwu “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so/slib/uskel /adsp'"
    Onye nnọchi anya QNN Mpụga HTP:
    Jiri ụdị quant tinye nkọwa:
    $ 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/slib/ libQnnHtp.so/sdir: /adsp'"

Ngwá ọrụ ziri ezi

Qualcomm TFLite SDK na-enye ngwa ọrụ ziri ezi iji gbakọọ izi ezi nke ụdị nwere oge ọsọ dị iche iche.

  • Nhazi ya na ndị nnọchi anya GPU
    Nzọụkwụ iji budata ihe dị mkpa files iji nwalee nwere ike ịchọta na: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
    Ọnụọgụ ọnụọgụ abụọ maka iji ngwa a abụworị akụkụ nke SDK, yabụ onye nrụpụta adịghị mkpa iwulite ya ọzọ.
    $ adb shei “image_classify_run_eval — model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels =/data/ –model_output_labels=/ data/ –delegate=gpu”
  • Nchọpụta ihe nwere ngwugwu XNN
    $ adb shei “inf_diff_run_eval –model_file=/data/Model/ –delegate=xnnpac

Ozi gbasara iwu

Ịnweta na ojiji nke akwụkwọ a, yana nkọwapụta ọ bụla, bọọdụ ntụaka files, eserese, nchọpụta nchọpụta na ozi ndị ọzọ dị n'ime ebe a (mkpokọta nke a “Akwụkwọ”), dị n'okpuru gị (gụnyere ụlọ ọrụ ma ọ bụ ụlọ ọrụ iwu kwadoro, ọnụ "Ị" ma ọ bụ "nke gị") nnabata nke usoro na ọnọdụ ("Usoro ojiji") setịpụrụ n'okpuru. Ọ bụrụ na ị kwenyeghị na Usoro ojiji ndị a, ị gaghị eji akwụkwọ a wee bibie nnomi ya ozugbo.

  1. Akwụkwọ Ozi Iwu.
    A na-enye gị akwụkwọ a naanị maka ojiji nke ime ya na ngwaahịa na onyinye ọrụ nke Qualcomm Technologies, Inc. ("Qualcomm Teknụzụ") na ndị mmekọ ya kọwara na akwụkwọ a, a gaghị eji ya mee ihe ọ bụla ọzọ. Enweghị ike ịgbanwe akwụkwọ a, dezie, ma ọ bụ gbanwee n'ụzọ ọ bụla na-enweghị nkwado ederede nke Qualcomm. Iji ma ọ bụ mkpughe nke a na-akwadoghị
    Amachibidoro akwụkwọ ma ọ bụ ozi dị n'ime ebe a, ma ị kwenyere n'ịkwanye Qualcomm Teknụzụ, ndị mmekọ ya na ndị nyere ikike maka mmebi ọ bụla ma ọ bụ mfu nke Qualcomm Teknụzụ, ndị mmekọ ya na ndị nyere ikike maka ojiji ọ bụla na-akwadoghị ma ọ bụ mkpughe nke akwụkwọ a, n'ozuzu ma ọ bụ akụkụ. Teknụzụ Qualcomm, ndị mmekọ ya na ndị nyere ikike na-ejigide ikike na ikike niile na akwụkwọ a. Enweghị ikikere maka ụghalaahịa ọ bụla, patent, nwebisiinka, ikike nchedo ọrụ mkpuchi ma ọ bụ ikike ọgụgụ isi ọ bụla nke enyere ma ọ bụ gosipụta ya site na akwụkwọ a ma ọ bụ ozi ọ bụla ekpughere n'ime ebe a, gụnyere, mana ejedebeghị na, ikike ịme, ojiji, mbubata ma ọ bụ ree ngwaahịa, ọrụ ma ọ bụ teknụzụ na-enye ozi ọ bụla n'ime akwụkwọ a.
    A na-enye akwụkwọ a “Dịka ọ dị” na-enweghị ikike n'ụdị ọ bụla, ma egosipụtara, akọwapụtaara ya, iwu ma ọ bụ ọzọ. Ruo oke iwu kwadoro, teknụzụ zuru oke, ndị mmekọ ya na ndị na-enye ikike na-akatọ ikike niile nke aha, ngwa ahịa, enweghị mmebi, ịdị mma maka ihe omume CY, na akwụkwọ ikike niile na-esite na iji azụmaahịa ma ọ bụ N'EZIOKWU nke ime ihe ma ọ bụ usoro arụmọrụ. ỌZỌ, MA TECHNOLOGIES QUALCOMM, MA Ọ BỤLA Mgbakwunye ya ma ọ bụ ndị nyere ikike, ga-akwụ gị ụgwọ ma ọ bụ otu ọ bụla nke atọ maka mmefu, mfu, ojiji, ma ọ bụ omume ọ bụla site n'aka gị.
    Ụfọdụ ngwa ngwaahịa, ngwaọrụ na ihe ndị e zoro aka na ya na akwụkwọ a nwere ike ịchọ ka ị nabata usoro na ọnọdụ ndị ọzọ tupu ịnweta ma ọ bụ iji ihe ndị ahụ.
    Data teknuzu akọwapụtara na akwụkwọ a nwere ike dabere na US na iwu njikwa mbupu ndị ọzọ dị. Amachibidoro nnyefe megidere US na iwu ọ bụla ọ bụla metụtara.
    Ọ nweghị ihe dị na akwụkwọ a bụ onyinye ịre ihe ọ bụla n'ime akụrụngwa ma ọ bụ ngwaọrụ ndị a kpọtụrụ aha n'ebe a.
    A ga-agbanwe akwụkwọ a na-enweghị ọkwa ọzọ. Ọ bụrụ na esemokwu dị n'etiti Usoro ojiji ndị a na nke WebUsoro ojiji saịtị na www.njikọ.ee ma ọ bụ amụma nzuzo Qualcomm zoro aka na ya www.njikọ.ee, Usoro ojiji ndị a ga-achịkwa. Ọ bụrụ na esemokwu dị n'etiti Usoro ojiji ndị a na nkwekọrịta ọ bụla (nke edere ma ọ bụ pịa-site) nke gị na Qualcomm Teknụzụ ma ọ bụ Qualcomm Teknụzụ Mgbakwunye na-ahụ maka ịnweta na iji akwụkwọ a, nkwekọrịta nke ọzọ ga-achịkwa. .
    Usoro ojiji ndị a ga-achịkwa ma tụgharịa ma tinye ya n'ọrụ dịka iwu steeti California siri dị, ewezuga UN Convention on International Sale of Goods, n'agbanyeghị na ụkpụrụ iwu megidere. Esemokwu ọ bụla, nkwupụta ma ọ bụ esemokwu sitere na ma ọ bụ metụtara Usoro ojiji ndị a, ma ọ bụ mmebi ma ọ bụ nkwado nke a, ka a ga-ekpe ikpe naanị site n'ụlọ ikpe nwere ikike na mpaghara San Diego, Steeti California, ma ị kwenye ugbu a ikike nke onwe nke ụlọ ikpe ndị dị otú ahụ maka nzube ahụ.
  2. Nkwupụta njiri ahia ahia na ngwaahịa.
    Qualcomm bụ ụghalaahịa ma ọ bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke Qualcomm Incorporated. Arm bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke Arm Limited (ma ọ bụ ndị enyemaka ya) na US na/ma ọ bụ ebe ọzọ. Akara okwu Bluetooth® bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke Bluetooth SIG, Inc. Ngwaahịa ndị ọzọ na aha ika etinyere n'akwụkwọ a nwere ike ịbụ ụghalaahịa ma ọ bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke ndị nwe ha.
    Ngwaahịa ejiri akara Snapdragon na Qualcomm zoro aka na akwụkwọ a bụ ngwaahịa nke Qualcomm Technologies, Inc. na/ma ọ bụ ndị enyemaka ya. Teknụzụ Qualcomm nwere ikike ikike nke Qualcomm Incorporated.

Akara ụlọ ọrụ

Akwụkwọ / akụrụngwa

Qualcomm TensorFlow Lite SDK Software [pdf] Ntuziaka onye ọrụ
TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *