ຄູ່ມືຜູ້ໃຊ້ຊອບແວ Qualcomm TensorFlow Lite SDK
ໂລໂກ້ບໍລິສັດ

ປະຫວັດການແກ້ໄຂ

ການທົບທວນ ວັນທີ ລາຍລະອຽດ
AA ກັນຍາ 2023 ການປ່ອຍຕົວໃນເບື້ອງຕົ້ນ
AB ຕຸລາ 2023

ແນະນໍາເຄື່ອງມື Qualcomm TFLite SDK

ຊຸດພັດທະນາຊອບແວ Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) ສະຫນອງກອບ TensorFlow Lite ສໍາລັບການຊີ້ບອກທາງປັນຍາທຽມ (AI) ໃນອຸປະກອນ, ເຊິ່ງອໍານວຍຄວາມສະດວກໃຫ້ຜູ້ພັດທະນາແອັບພລິເຄຊັນໃນການພັດທະນາຫຼືດໍາເນີນການຄໍາຮ້ອງສະຫມັກ AI ທີ່ເຫມາະສົມ.
ເອກະສານນີ້ໃຫ້ຄໍາແນະນໍາເທື່ອລະຂັ້ນຕອນເພື່ອລວບລວມ Qualcomm TFLite SDK ແບບດ່ຽວ ແລະຕັ້ງຄ່າສະພາບແວດລ້ອມການພັດທະນາ. ນີ້ເຮັດໃຫ້ຂະບວນການເຮັດວຽກຂອງນັກພັດທະນາ, ເຊິ່ງລວມມີ:

  • ການຕັ້ງຄ່າສະພາບແວດລ້ອມການກໍ່ສ້າງທີ່ຜູ້ພັດທະນາສາມາດລວບລວມ Qualcomm TFLite SDK
  • ພັດທະນາແອັບພລິເຄຊັນ Qualcomm TFLite SDK ແບບດ່ຽວ

ສໍາລັບການຊ່ວຍເຫຼືອ, ເບິ່ງ https://www.qualcomm.com/ ສະ​ຫນັບ​ສະ​ຫນູນ​. ຕົວເລກຕໍ່ໄປນີ້ໃຫ້ບົດສະຫຼຸບຂອງຂະບວນການເຮັດວຽກຂອງ Qualcomm TFLite SDK: ”
ຮູບ 1-1 Qualcomm TFLite SDK workflow
ເຄື່ອງມືຕ້ອງການ SDK ເວທີແລະການຕັ້ງຄ່າ file (ຮູບແບບ JSON) ເພື່ອສ້າງສິ່ງປະດິດ Qualcomm TFLite SDK.

ເພື່ອສ້າງແອັບພລິເຄຊັນຈົບລົງດ້ວຍລະບົບຍ່ອຍມັນຕິມີເດຍ, AI, ແລະຄອມພິວເຕີວິໄສທັດ (CV), ເບິ່ງຄູ່ມືເລີ່ມຕົ້ນດ່ວນຂອງ Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).
ຕາຕະລາງສະແດງໃຫ້ເຫັນການສ້າງແຜນທີ່ຮຸ່ນ Qualcomm TFLite SDK ກັບການປ່ອຍ CodeLinaro tag:
ຕາຕະລາງ 1-1 ການປ່ອຍຂໍ້ມູນ
ການເຊື່ອມຕໍ່

ລຸ້ນ Qualcomm TFLite SDK ການປ່ອຍ CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

ຕາຕະລາງ 1-2 ຮອງຮັບ Qualcomm TFLite SDK ຮຸ່ນ

Qualcomm ລຸ້ນ TFLite SDK ຜະລິດຕະພັນຊອບແວທີ່ສະຫນັບສະຫນູນ ສະ​ຫນັບ​ສະ​ຫນູນ​ສະ​ບັບ 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

ເອກະສານອ້າງອີງ
ຕາຕະລາງ 1-3 ເອກະສານທີ່ກ່ຽວຂ້ອງ

ຫົວຂໍ້ ເລກ
Qualcomm
00067.1 ບັນທຶກການປ່ອຍສໍາລັບ QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) ຄູ່ມືເລີ່ມຕົ້ນດ່ວນ 80-50450-51
Qualcomm Intelligent Multimedia SDK (QIM SDK) ອ້າງອີງ 80-50450-50
ຊັບພະຍາກອນ
https://source.android.com/docs/setup/start/initializing

ຕາຕະລາງ 1-4 ຄໍາຫຍໍ້ ແລະຄໍານິຍາມ

ຕົວຫຍໍ້ ຫຼື ຄຳສັບ ຄໍານິຍາມ
AI ປັນຍາປະດິດ
BIOS ລະ​ບົບ​ການ​ປ້ອນ​ຂໍ້​ມູນ / ຜົນ​ຜະ​ລິດ​ພື້ນ​ຖານ​
CV ວິໄສທັດຄອມພິວເຕີ
IPK ຊຸດ Its file
QIM SDK ຊຸດພັດທະນາຊອບແວ multimedia Intelligent Qualcomm
SDK ຊຸດພັດທະນາຊອບແວຣ
TFLite TensorFlow Lite
XNN Xth ເພື່ອນບ້ານທີ່ໃກ້ທີ່ສຸດ

ຕັ້ງຄ່າສະພາບແວດລ້ອມການກໍ່ສ້າງສໍາລັບເຄື່ອງມື Qualcomm TFLite SDK

ເຄື່ອງມື Qualcomm TFLite SDK ຖືກປ່ອຍອອກມາໃນຮູບແບບແຫຼ່ງ; ດັ່ງນັ້ນ, ການສ້າງສະພາບແວດລ້ອມໃນການກໍ່ສ້າງເພື່ອລວບລວມມັນເປັນການບັງຄັບແຕ່ການຕິດຕັ້ງຄັ້ງດຽວ.

ເງື່ອນໄຂເບື້ອງຕົ້ນ

  • ໃຫ້ແນ່ໃຈວ່າທ່ານມີ sudoaccess ກັບ Linux host machine.
  • ໃຫ້ແນ່ໃຈວ່າ Linux ເວີຊັ່ນເປັນ Ubuntu 18.04 ຫຼື Ubuntu 20.04.
  • ເພີ່ມການເບິ່ງຜູ້ໃຊ້ສູງສຸດແລະຕົວຢ່າງຜູ້ໃຊ້ສູງສຸດໃນລະບົບໂຮດ.
  • ເພີ່ມບັນທັດຄໍາສັ່ງຕໍ່ໄປນີ້ໃສ່/etc/sysctl.confand reboot host: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

ຕິດຕັ້ງແພັກເກດໂຮດທີ່ຕ້ອງການ

ແພັກເກດໂຮດແມ່ນຕິດຕັ້ງຢູ່ໃນເຄື່ອງໂຮດ Linux.
ດໍາເນີນການຄໍາສັ່ງເພື່ອຕິດຕັ້ງຊຸດໂຮດ: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
ສໍາລັບ Ubuntu 18.04 ແລະສູງກວ່າ:
$ sudo apt-get ຕິດຕັ້ງ 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 xspltproc
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ https://source.android.com/docs/setup/start/initializing.

ຕັ້ງຄ່າສະພາບແວດລ້ອມ docker

docker ເປັນແພລະຕະຟອມທີ່ໃຊ້ເພື່ອສ້າງ, ພັດທະນາ, ທົດສອບ, ແລະສົ່ງຊອບແວ. ເພື່ອລວບລວມ SDK, docker ຕ້ອງຖືກຕັ້ງຄ່າຢູ່ໃນເຄື່ອງໂຮດ Linux.
ໃຫ້ແນ່ໃຈວ່າ CPU virtualization ຖືກເປີດໃຊ້ຢູ່ໃນເຄື່ອງໂຮດ Linux. ຖ້າ​ຫາກ​ວ່າ​ມັນ​ບໍ່​ໄດ້​ຖືກ​ເປີດ​ໃຊ້​ງານ​, ເຮັດ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ເພື່ອ​ເຮັດ​ໃຫ້​ມັນ​ຈາກ​ການ​ຕັ້ງ​ຄ່າ​ການ​ນໍາ​ເຂົ້າ / ຜົນ​ຜະ​ລິດ​ພື້ນ​ຖານ (BIOS​) ການ​ຕັ້ງ​ຄ່າ​:

  1. ເປີດໃຊ້ virtualization ຈາກ BIOS:
    a. ກົດ F1 ຫຼື F2 ເມື່ອລະບົບກໍາລັງບູດຂຶ້ນເພື່ອກ້າວເຂົ້າສູ່ BIOS. ປ່ອງຢ້ຽມ BIOS ຖືກສະແດງ.
    b. ສະຫຼັບໄປແຖບຂັ້ນສູງ.
    c. ໃນພາກສ່ວນການຕັ້ງຄ່າ CPU, ຕັ້ງຄ່າເທກໂນໂລຍີ Virtualization ເປັນ Enabled.
    a. ກົດ F12 ເພື່ອບັນທຶກແລະອອກ, ແລະຈາກນັ້ນ restart ລະບົບ.
    ຖ້າຂັ້ນຕອນເຫຼົ່ານີ້ບໍ່ເຮັດວຽກ, ປະຕິບັດຕາມຄໍາແນະນໍາສະເພາະຈາກຜູ້ໃຫ້ບໍລິການລະບົບເພື່ອເປີດໃຊ້ virtualization
  2. ເອົາຕົວຢ່າງເກົ່າໃດໆຂອງ docker:
    $ sudo apt ເອົາ docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt ລ້າງ docker-desktop
  3.  ຕັ້ງຄ່າ docker repository:
    $ sudo apt-get update $ sudo apt-get ຕິດຕັ້ງ ca-certificates curl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg — dearmor -o /etc/apt/keyrings/docker.gpg $ echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) ຄົງທີ່” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  ຕິດຕັ້ງເຄື່ອງຈັກ docker:
    $ sudo apt-get update $ sudo apt-get ຕິດຕັ້ງ docker-ce docker-ce-cli
  5.  ເພີ່ມຜູ້ໃຊ້ເຂົ້າໃນກຸ່ມ docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  reboot ລະບົບ.

ສ້າງແພລະຕະຟອມ SDK

ແພລະຕະຟອມ SDK ແມ່ນຄວາມຕ້ອງການທີ່ບັງຄັບໃຫ້ລວບລວມເຄື່ອງມື Qualcomm TFLite SDK. ມັນສະຫນອງການຂຶ້ນກັບແພລະຕະຟອມທີ່ຕ້ອງການທັງຫມົດທີ່ຕ້ອງການໂດຍ Qualcomm TFLite SDK.
ເຮັດສິ່ງຕໍ່ໄປນີ້ເພື່ອສ້າງ SDK ເວທີ:

  1. ສ້າງການກໍ່ສ້າງສໍາລັບຜະລິດຕະພັນຊອບແວທີ່ຕ້ອງການ.
    ຄໍາແນະນໍາໃນການສ້າງ QCS8550.LE.1.0release ແມ່ນສະຫນອງໃຫ້ຢູ່ໃນບັນທຶກການປ່ອຍ. ເພື່ອເຂົ້າເຖິງບັນທຶກການປ່ອຍ, ເບິ່ງເອກະສານອ້າງອີງ.
    ຖ້າຮູບພາບຕ່າງໆໄດ້ຖືກສ້າງຂຶ້ນໃນເມື່ອກ່ອນ, ດໍາເນີນການຂັ້ນຕອນທີ 2, ແລະຫຼັງຈາກນັ້ນສ້າງການກໍ່ສ້າງທີ່ສະອາດ.
  2. ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອສ້າງຮູບພາບພື້ນທີ່ຜູ້ໃຊ້ແລະ SDK ເວທີ:
    ສໍາລັບ QCS8550.LE.1.0, ເພີ່ມຄຸນສົມບັດເຄື່ອງ qti-tflite-delegate ໃນ MACHINE_FEATURES ໃນ kalama.conf file ແລະແຫຼ່ງສະພາບແວດລ້ອມການກໍ່ສ້າງຕາມຄໍາແນະນໍາຈາກບັນທຶກການປ່ອຍ.
    ຫຼັງຈາກການສ້າງຮູບພາບພື້ນທີ່ຜູ້ໃຊ້ຈາກການກໍ່ສ້າງ, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອສ້າງ SDK ເວທີ.
    $ bitbake -fc populate_sdk qti-robotics-image

ສ້າງເຄື່ອງມື Qualcomm TFLite SDK – ຂະບວນການເຮັດວຽກຂອງຜູ້ພັດທະນາ

ຂະບວນການເຮັດວຽກຂອງເຄື່ອງມື Qualcomm TFLite SDK ຮຽກຮ້ອງໃຫ້ຜູ້ພັດທະນາສະຫນອງການຕັ້ງຄ່າ file ດ້ວຍການປ້ອນຂໍ້ມູນທີ່ຖືກຕ້ອງ. ສະຄຣິບ Shell ຜູ້ຊ່ວຍຈາກໂຄງການ tflite-tools (ມີຢູ່ໃນຕົ້ນໄມ້ແຫຼ່ງ Qualcomm TFLite SDK) ໃຫ້ຟັງຊັນປະໂຫຍດຂອງຕົວຊ່ວຍເພື່ອຕັ້ງຄ່າສະພາບແວດລ້ອມຂອງແກະ, ເຊິ່ງສາມາດໃຊ້ສໍາລັບການເຮັດວຽກຂອງ Qualcomm TFLite SDK.
ນັກພັດທະນາສ້າງໂຄງການ Qualcomm TFLite SDK ພາຍໃນຖັງແລະສ້າງສິ່ງປະດິດໂດຍໃຊ້ອຸປະກອນທີ່ສະຫນອງໂດຍ tflite-tools.
ຫຼັງຈາກຕູ້ຄອນເທນເນີ Qualcomm TFLite SDK ຖືກສ້າງຂຶ້ນ, ນັກພັດທະນາສາມາດຕິດກັບຖັງແລະນໍາໃຊ້ປະໂຫຍດຂອງຕົວຊ່ວຍໃນສະພາບແວດລ້ອມ shell container ສໍາລັບການພັດທະນາຢ່າງຕໍ່ເນື່ອງ.

  • ມີການສະຫນອງການຕິດຕັ້ງສິ່ງປະດິດ Qualcomm TFLite SDK ໃຫ້ກັບອຸປະກອນ Qualcomm ທີ່ເຊື່ອມຕໍ່ກັບເຈົ້າພາບ Linux ຜ່ານ USB/adb.
  • ນອກຈາກນີ້ຍັງມີການສະຫນອງການຄັດລອກສິ່ງປະດິດ Qualcomm TFLite SDK ຈາກຕູ້ຄອນເທນເນີໄປຍັງເຄື່ອງໂຮດທີ່ແຕກຕ່າງກັນທີ່ອຸປະກອນ Qualcomm ເຊື່ອມຕໍ່.
    ການເຊື່ອມຕໍ່

ຕົວເລກຕໍ່ໄປນີ້ຈະສະແດງຊຸດຂອງເຄື່ອງໃຊ້ຕ່າງໆທີ່ມີຢູ່ຫຼັງຈາກການຕັ້ງສະພາບແວດລ້ອມການກໍ່ສ້າງຕູ້ຄອນເທນເນີໂດຍໃຊ້ຕົວຊ່ວຍສໍາລັບການກໍ່ສ້າງ Qualcomm TFLite SDK.
ການເຊື່ອມຕໍ່

ຕົວ​ເລກ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ລໍາ​ດັບ​ການ​ປະ​ຕິ​ບັດ​ຂອງ​ອຸ​ປະ​ກອນ​ການ​:
ຮູບທີ 4-3 ລໍາດັບຂອງເຄື່ອງໃຊ້ໃນເຈົ້າພາບ
ການເຊື່ອມຕໍ່

Sync ແລະສ້າງ Qualcomm TFLite SDK
Qualcomm TFLite SDK ຖືກລວບລວມເມື່ອຮູບພາບ docker ຖືກສ້າງຂື້ນ. ເພື່ອ sync ແລະສ້າງ Qualcomm TFLite SDK, ເຮັດດັ່ງຕໍ່ໄປນີ້:

  1. ສ້າງໄດເລກະທໍລີຢູ່ໃນໂຮດ file ລະບົບເພື່ອຊິງຄ໌ພື້ນທີ່ເຮັດວຽກ Qualcomm TFLite SDK. ສໍາລັບ
    example: $mkdir $cd
  2. ດຶງເອົາລະຫັດແຫຼ່ງ Qualcomm TFLite SDK ຈາກ 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 ປ່ອຍ && repo sync -qc –no-tags -j
  3. ສ້າງໄດເລກະທໍລີຢູ່ໃນໂຮດ file ລະບົບທີ່ສາມາດຕິດຕັ້ງໃສ່ docker. ຕົວຢ່າງample: mkdir-p / ໄດເລກະທໍລີນີ້ສາມາດສ້າງໄດ້ທຸກບ່ອນໃນເຄື່ອງໂຮດ Linux, ແລະມັນບໍ່ຂຶ້ນກັບບ່ອນທີ່ໂຄງການ Qualcomm TFLite SDK ຖືກຊິງ. ຫຼັງຈາກຂັ້ນຕອນການເຮັດວຽກໄດ້ຖືກສໍາເລັດພາຍໃນກ່ອງບັນຈຸ, ສິ່ງປະດິດຂອງ Qualcomm TFLite SDK ສາມາດພົບໄດ້ຢູ່ໃນໄດເລກະທໍລີທີ່ສ້າງຂຶ້ນໃນຂັ້ນຕອນນີ້.
  4. ແກ້ໄຂການຕັ້ງຄ່າ JSON file ມີຢູ່ໃນ /tflite-tools/ targets/le-tflite-tools-builder.json ດ້ວຍລາຍການຕໍ່ໄປນີ້:
    “ຮູບພາບ”: “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”: “” }
    ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບລາຍການທີ່ໄດ້ກ່າວມາໃນການຕັ້ງຄ່າ json file, ເບິ່ງ Docker.md readme file ທີ່ /tflite-tools/.
    ໝາຍເຫດ ສຳລັບ QCS8550, ຕົວແທນ Qualcomm® Hexagon™ DSP ແມ່ນບໍ່ຮອງຮັບ.
  5. ແຫຼ່ງສະຄຣິບເພື່ອຕັ້ງຄ່າສະພາບແວດລ້ອມ:
    $ cd /tflite-tools $ source ./scripts/host/docker_env_setup.sh
  6.  ສ້າງຮູບພາບ docker Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json ຖ້າການຕິດຕັ້ງກໍ່ສ້າງລົ້ມເຫລວ, ເບິ່ງການແກ້ໄຂບັນຫາການຕິດຕັ້ງ docker. ຫຼັງ​ຈາກ​ສໍາ​ເລັດ​ສົບ​ຜົນ​ສໍາ​ເລັດ​, ຂໍ້​ຄວາມ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ຈະ​ສະ​ແດງ​ໃຫ້​ເຫັນ​: "ສະ​ຖາ​ນະ​ພາບ​: ການ​ສ້າງ​ຮູບ​ພາບ​ສໍາ​ເລັດ​ສົບ​ຜົນ​ສໍາ​ເລັດ !! " ແລ່ນຂັ້ນຕອນນີ້ສ້າງ Qualcomm TFLite SDK ເຊັ່ນກັນ.
  7.  ແລ່ນກ່ອງບັນຈຸ docker Qualcomm TFLite SDK. ນີ້ເລີ່ມຕົ້ນບັນຈຸທີ່ມີ tags ສະຫນອງໃຫ້ຢູ່ໃນການຕັ້ງຄ່າ JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. ຕິດກັບຖັງເລີ່ມຕົ້ນຈາກຂັ້ນຕອນທີ່ຜ່ານມາ.
    $ docker ຄັດຕິດ

Qualcomm TFLite SDK ໄດ້ຖືກລວບລວມ, ແລະສິ່ງປະດິດແມ່ນພ້ອມທີ່ຈະຖືກນໍາໄປໃຊ້ຫຼືເພີ່ມເຕີມສາມາດເປັນ.
ໃຊ້ເພື່ອສ້າງປລັກອິນ QIM SDK TFLite.

ເຊື່ອມຕໍ່ອຸປະກອນເພື່ອໂຮດ ແລະນຳໃຊ້ artifacts]

ຫຼັງຈາກການລວບລວມ, ມີສອງກົນໄກເພື່ອເຊື່ອມຕໍ່ອຸປະກອນກັບເຈົ້າພາບແລະນໍາໃຊ້
Qualcomm TFLite SDK artifacts.

  • ອຸປະກອນທີ່ເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ Linux ທ້ອງຖິ່ນ:
    ຜູ້ພັດທະນາເຊື່ອມຕໍ່ອຸປະກອນກັບບ່ອນເຮັດວຽກ ແລະຕິດຕັ້ງສິ່ງປະດິດ Qualcomm TFLite SDK ຈາກກ່ອງບັນຈຸໂດຍກົງໃນອຸປະກອນ (QCS8550).
  • ອຸປະກອນເຊື່ອມຕໍ່ຫາແມ່ຂ່າຍທາງໄກ:
    ຜູ້ພັດທະນາເຊື່ອມຕໍ່ອຸປະກອນກັບສະຖານີເຮັດວຽກທາງໄກ, ແລະເຂົາເຈົ້າສາມາດໃຊ້ຄໍາສັ່ງຕິດຕັ້ງຕົວຈັດການແພັກເກັດໃນເວທີ Windows ແລະ Linux ເພື່ອຕິດຕັ້ງສິ່ງປະດິດ Qualcomm TFLite SDK ກັບອຸປະກອນ (QCS8550)

ຮູບທີ 4-4 ການເຊື່ອມຕໍ່ຂອງກະດານອຸປະກອນກັບຜູ້ພັດທະນາ ແລະບ່ອນເຮັດວຽກທາງໄກ
ການເຊື່ອມຕໍ່

ເຊື່ອມຕໍ່ອຸປະກອນກັບສະຖານີເຮັດວຽກ

ອຸປະກອນໄດ້ຖືກເຊື່ອມຕໍ່ກັບສະຖານີເຮັດວຽກແລະຖັງພັດທະນາສາມາດເຂົ້າເຖິງອຸປະກອນຜ່ານ USB/adb.
ຕົວເລກສະແດງໃຫ້ເຫັນ stages ໃນລໍາດັບຂອງຂະບວນການເຮັດວຽກ Qualcomm TFLite SDK:
ການເຊື່ອມຕໍ່

  1. ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງ artifacts ກັບອຸປະກອນ:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. ເພື່ອຖອນການຕິດຕັ້ງ artifacts, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:
    $ tflite-tools-device-packages-remove

ເຊື່ອມຕໍ່ອຸປະກອນກັບເຄື່ອງທາງໄກ

ອຸປະກອນເຊື່ອມຕໍ່ກັບເຄື່ອງທາງໄກ, ແລະກ່ອງບັນຈຸ Qualcomm TFLite SDK ບໍ່ສາມາດເຂົ້າເຖິງອຸປະກອນຜ່ານ USB/ad b.
ຕົວເລກສະແດງໃຫ້ເຫັນ stages ໃນລໍາດັບຂອງຂະບວນການເຮັດວຽກ Qualcomm TFLite SDK:
ການເຊື່ອມຕໍ່

ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ຢູ່ໃນກ່ອງບັນຈຸ tflite-tools ເພື່ອຄັດລອກສິ່ງປະດິດໃສ່ເຄື່ອງຫ່າງໄກສອກຫຼີກ
ຂຶ້ນກັບຕົວຈັດການແພັກເກດໃນອຸປະກອນ:
$ tflite-tools-remote-sync-ipk-rel-pkg
ໝາຍເຫດ ຂໍ້ມູນເຄື່ອງທາງໄກແມ່ນໃຫ້ຢູ່ໃນການຕັ້ງຄ່າ JSON file.
ຕິດຕັ້ງ artifacts ສໍາລັບ Windows platform
ສິ່ງປະດິດຂອງ Qualcomm TFLite SDK ສາມາດຕິດຕັ້ງຢູ່ໃນອຸປະກອນໂດຍອີງໃສ່ລະບົບປະຕິບັດການຂອງເຄື່ອງຫ່າງໄກສອກຫຼີກ.

ສໍາລັບເວທີ Windows, ເຮັດດັ່ງຕໍ່ໄປນີ້:
ໃນ PowerShell, ໃຊ້ສະຄຣິບຕໍ່ໄປນີ້: 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 ຖ້າແພັກເກັດເປັນ ipk (ສໍາລັບ QCS8550.LE.1.0), ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້: PS C:> adb shell “ opkg –force-depends –force-install –force-overwrite install /tmp/”

ຕິດຕັ້ງ artifacts ສໍາລັບເວທີ Linux
ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:
$ 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 ຖ້າ ຊຸດແມ່ນ ipk (ສໍາລັບ QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

ເຮັດຄວາມສະອາດຮູບພາບ docker
ຫຼັງຈາກສໍາເລັດຂັ້ນຕອນການເຮັດວຽກຂອງຜູ້ພັດທະນາ, ສະພາບແວດລ້ອມ docker ຄວນຖືກອະນາໄມເພື່ອເຮັດໃຫ້ພື້ນທີ່ຫວ່າງຢູ່ໃນແຜ່ນ. ການທໍາຄວາມສະອາດ docker ເອົາຖັງເກັບມ້ຽນແລະຮູບພາບທີ່ບໍ່ໄດ້ໃຊ້, ດັ່ງນັ້ນການປົດປ່ອຍພື້ນທີ່ດິດ.
ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອເຮັດຄວາມສະອາດຮູບພາບ docker:

  1. ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ຢູ່ໃນບ່ອນເຮັດວຽກ Linux:
    $ cd /tflite-tools
  2. ຢຸດຕູ້ຄອນເທນເນີ:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. ເອົາຖັງອອກ:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. ເອົາຮູບ docker ເກົ່າອອກ:
    $ tflite-tools-host-images-cleanup

ແກ້ໄຂບັນຫາການຕິດຕັ້ງ docker

ຖ້າຄໍາສັ່ງ tflite-tools-host-build-image ສົ່ງຄືນ Nospace ໄວ້ຢູ່ໃນຂໍ້ຄວາມອຸປະກອນ, ຫຼັງຈາກນັ້ນຍ້າຍ docker directory ໄປ/local/mnt. ເຮັດສິ່ງຕໍ່ໄປນີ້ເພື່ອແກ້ໄຂບັນຫາການຕິດຕັ້ງ:

  1. ສຳຮອງຂໍ້ມູນ docker ທີ່ມີຢູ່ແລ້ວ files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date + %s).tar.gz
  2. ຢຸດ docker:
    $ ບໍລິການ docker ຢຸດ
  3. ກວດສອບວ່າບໍ່ມີຂະບວນການ docker ເຮັດວຽກຢູ່:
    $ ps faux | grep docker
  4. ກວດເບິ່ງໂຄງສ້າງໄດເລກະທໍລີ docker:
    $ sudo ls /var/lib/docker/
  5. ຍ້າຍໄດເຣັກທໍຣີ docker ໄປເປັນພາທິຊັນໃໝ່:
    $ mv /var/lib/docker /local/mnt/docker
  6. ສ້າງ symlink ກັບໄດເລກະທໍລີ docker ໃນພາທິຊັນໃຫມ່:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. ໃຫ້ແນ່ໃຈວ່າໂຄງສ້າງໄດເລກະທໍລີ docker ຍັງຄົງບໍ່ປ່ຽນແປງ:
    $ sudo ls /var/lib/docker/
  8. ເລີ່ມ docker:
    $ ບໍລິການ docker ເລີ່ມ
  9. ຣີສະຕາດກ່ອງບັນຈຸທັງໝົດຫຼັງຈາກຍ້າຍໄດເຣັກທໍຣີ docker.

ສ້າງ TFLite SDK ກັບບ່ອນເຮັດວຽກ Linux

ຂັ້ນຕອນການເຮັດວຽກຂອງ TFLite SDK ສາມາດເປີດໃຊ້ໄດ້ໂດຍບໍ່ມີກ່ອງບັນຈຸໂດຍໃຊ້ບ່ອນເຮັດວຽກ Linux. ຂັ້ນຕອນນີ້ແມ່ນທາງເລືອກໃນການໃຊ້ພາຊະນະ.
ເພື່ອ sync ແລະສ້າງ Qualcomm TFLite SDK, ເຮັດດັ່ງຕໍ່ໄປນີ້:

  1. ສ້າງໄດເລກະທໍລີຢູ່ໃນໂຮດ file ລະບົບເພື່ອຊິງຄ໌ພື້ນທີ່ເຮັດວຽກ Qualcomm TFLite SDK. ຕົວຢ່າງample:
    $mkdir
    $cd
  2. ດຶງເອົາລະຫັດແຫຼ່ງ Qualcomm TFLite SDK ຈາກ 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 ປ່ອຍ && repo sync -qc –no-tags -j8 && repo sync -qc –no-tags -j8
  3. 3. ແກ້ໄຂການຕັ້ງຄ່າ JSON file ປະຈຸບັນຢູ່ໃນ /tflite-tools/ targets/le-tflite-tools-builder.json ກັບລາຍການຕໍ່ໄປນີ້
    “ຮູບພາບ”: “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”: “”, “ຖານ_ດີ_ສະຖານທີ່”: “”
    ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບລາຍການທີ່ໄດ້ກ່າວມາໃນການຕັ້ງຄ່າ json file, ເບິ່ງ Docker.md readme file ທີ່ /tflite-tools/.
    ໝາຍເຫດ ສໍາລັບ QCS8550, ຕົວແທນ Hexagon DSP ແມ່ນບໍ່ຮອງຮັບ
  4. ແຫຼ່ງສະຄຣິບເພື່ອຕັ້ງຄ່າສະພາບແວດລ້ອມ:
    $ cd /tflite-tools
    $ source ./scripts/host/host_env_setup.sh
  5. ສ້າງ Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  ດໍາເນີນການຄໍາສັ່ງ utility ຕໍ່ໄປນີ້ຢູ່ໃນ shell Linux ດຽວກັນເພື່ອເກັບກໍາສິ່ງປະດິດ TFLite SDK ຈາກ 
    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. ຕິດຕັ້ງສິ່ງປະດິດໂດຍອີງໃສ່ລະບົບປະຕິບັດການ
    • ສຳລັບແພລດຟອມ Windows, ໃນ PowerShell, ໃຫ້ໃຊ້ສະຄຣິບຕໍ່ໄປນີ້
      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
      ຖ້າແພັກເກັດເປັນ ipk (ສຳລັບ QCS8550.LE.1.0), ໃຫ້ໃຊ້ຄຳສັ່ງຕໍ່ໄປນີ້:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      ສໍາລັບເວທີ Linux, ໃຊ້ສະຄິບຕໍ່ໄປນີ້:
      $ 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 ຖ້າແພັກເກັດເປັນ ipk (ສໍາລັບ QCS8550.LE.1.0):
      $ adb shell “opkg –force-depends –force-install –force-overwrite install /tmp/”

ສ້າງສິ່ງປະດິດ Qualcomm TFLite SDK ສໍາລັບການກໍ່ສ້າງ QIM SDK

ເພື່ອໃຊ້ສິ່ງປະດິດທີ່ສ້າງຂຶ້ນເພື່ອເປີດໃຊ້ສຽບອິນ Qualcomm TFLite SDK GStreamer ໃນ QIM SDK, ໃຫ້ເຮັດສິ່ງຕໍ່ໄປນີ້:

  1. ສໍາເລັດຂັ້ນຕອນໃນ Sync ແລະສ້າງ Qualcomm TFLite SDK, ແລະຫຼັງຈາກນັ້ນດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    A tar file ຖືກສ້າງຂື້ນ. ມັນມີ Qualcomm TFLite SDK ຢູ່ໃນເສັ້ນທາງທີ່ສະຫນອງໃຫ້ຢູ່ “TFLite_rsync_destination”
  2. ເພື່ອເປີດໃຊ້ plug-in Qualcomm TFLite SDK GStreamer, ໃຫ້ໃຊ້ tar file ເປັນການໂຕ້ຖຽງໃນການຕັ້ງຄ່າ JSON file ສໍາລັບການກໍ່ສ້າງ QIM SDK.
    ສໍາລັບຂໍ້ມູນກ່ຽວກັບການລວບລວມ QIM SDK, ເບິ່ງ Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).

ສ້າງ Qualcomm TFLite SDK ເພີ່ມຂຶ້ນ

ຖ້າທ່ານກໍາລັງສ້າງ Qualcomm TFLite SDK ເປັນຄັ້ງທໍາອິດ, ເບິ່ງ Build Qualcomm TFLite SDK tools – developer workflow. ສະພາບແວດລ້ອມການກໍ່ສ້າງດຽວກັນສາມາດຖືກນໍາໃຊ້ຄືນໃຫມ່ສໍາລັບການພັດທະນາທີ່ເພີ່ມຂຶ້ນ.
ຜົນປະໂຫຍດຂອງຕົວຊ່ວຍ (ພາຍໃນກ່ອງບັນຈຸ) ທີ່ໄດ້ກ່າວມາໃນຮູບແມ່ນມີໃຫ້ຜູ້ພັດທະນາເພື່ອລວບລວມຄໍາຮ້ອງສະຫມັກທີ່ຖືກດັດແປງແລະ plug-ins.
ຮູບ 5-1 ຂະບວນການເຮັດວຽກຢູ່ໃນຖັງ

ການເຊື່ອມຕໍ່

ຫຼັງ​ຈາກ​ການ​ປ່ຽນ​ແປງ​ລະ​ຫັດ​ແມ່ນ​ສໍາ​ເລັດ​ໃນ​ລະ​ບົບ​ລະ​ຫັດ​, ເຮັດ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

  1. ລວບລວມລະຫັດດັດແກ້:
    $ tflite-tools-incremental-build-install
  2. ລະຫັດຫຸ້ມຫໍ່ທີ່ລວບລວມ:
    $ tflite-tools-ipk-rel-pkg ຫຼື $ tflite-tools-deb-rel-pkg
  3. ຊິ້ງແພັກເກັດການປ່ອຍຕົວກັບເຈົ້າພາບ file ລະບົບ:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. ກະກຽມຊຸດ dev:
    $ tflite-tools-ipk-dev-pkg
    ວັດຖຸບູຮານທີ່ລວບລວມໄດ້ຖືກພົບເຫັນຢູ່ໃນໂຟນເດີ TFLite_rsync_destination ທີ່ໄດ້ກ່າວມາໃນ JSON file, ເຊິ່ງສາມາດຄັດລອກໄປຫາໄດເລກະທໍລີໃດໆ.

ເຮັດວຽກກັບ QNN TFLite Delegate ພາຍນອກ

ຕົວແທນພາຍນອກ TFLite ຊ່ວຍໃຫ້ທ່ານສາມາດດໍາເນີນການແບບຈໍາລອງຂອງທ່ານ (ບາງສ່ວນຫຼືທັງຫມົດ) ໃນຕົວປະຕິບັດການອື່ນໂດຍໃຊ້ຫ້ອງສະຫມຸດທີ່ສະຫນອງໂດຍພາກສ່ວນທີສາມທີ່ເຊື່ອຖືໄດ້ເຊັ່ນ QNN ໂດຍ Qualcomm. ກົນໄກນີ້ສາມາດນຳໃຊ້ຕົວເລັ່ງຄວາມໄວໃນອຸປະກອນຕ່າງໆ ເຊັ່ນ: GPU ຫຼື Hexagon Tensor Processor (HTP) ສຳລັບການສະຫຼຸບ. ນີ້ໃຫ້ນັກພັດທະນາວິທີການທີ່ຍືດຫຍຸ່ນແລະ decoupled ຈາກ TFLite ເລີ່ມຕົ້ນເພື່ອເລັ່ງການ inference.

ເງື່ອນໄຂເບື້ອງຕົ້ນ:

  • ໃຫ້ແນ່ໃຈວ່າທ່ານໃຊ້ບ່ອນເຮັດວຽກ Ubuntu ເພື່ອສະກັດ QNN AI stack.
  • ໃຫ້ແນ່ໃຈວ່າທ່ານໃຊ້ QNN ເວີຊັນ 2.14 ເພື່ອໃຊ້ຮ່ວມກັນກັບ Qualcomm TFLite SDK

Qualcomm TFLite SDK ຖືກເປີດໃຊ້ງານເພື່ອດໍາເນີນການສະຫຼຸບກ່ຽວກັບ QNN back-ends ຫຼາຍອັນຜ່ານ TFLite ຕົວແທນພາຍນອກສໍາລັບ QNN. ຮູບແບບ TFLite ທີ່ມີການເປັນຕົວແທນ flatbuffer ທົ່ວໄປສາມາດດໍາເນີນການໄດ້ໃນ GPU ແລະ HTP.
ຫຼັງຈາກຊຸດ Qualcomm TFLite SDK ຖືກຕິດຕັ້ງຢູ່ໃນອຸປະກອນ, ເຮັດສິ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງຫ້ອງສະຫມຸດ QNN ໃນອຸປະກອນ.

  1. ດາວໂຫລດ Qualcomm Package Manager 3 ສໍາລັບ Ubuntu.
    a. ກົດhttps://qpm.qualcomm.com/, ແລະຄລິກເຄື່ອງມື.
    b. ໃນແຖບດ້ານຊ້າຍ, ໃນເຄື່ອງມືຄົ້ນຫາພາກສະຫນາມ, ພິມ QPM. ຈາກບັນຊີລາຍຊື່ລະບົບ OS, ເລືອກ Linux.
    ຜົນການຄົ້ນຫາສະແດງລາຍຊື່ຂອງ Qualcomm Package Managers.
    c. ເລືອກ Qualcomm Package Manager 3 ແລະດາວໂຫລດແພັກເກັດ Linux debian.
  2. ຕິດຕັ້ງ Qualcomm Package Manager 3 ສໍາລັບ Linux. ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:
    $ dpkg -i –force-overwrite /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. ດາວໂຫລດ Qualcomm®
    AI Engine Direct SDK ຢູ່ໃນບ່ອນເຮັດວຽກ Ubuntu.
    a. ກົດ https://qpm.qualcomm.com/ ແລະຄລິກເຄື່ອງມື.
    b. ໃນແຖບດ້ານຊ້າຍ, ໃນເຄື່ອງມືຄົ້ນຫາພາກສະຫນາມ, ພິມ AI stack. ຈາກບັນຊີລາຍຊື່ລະບົບ OS, ເລືອກ Linux.
    A ບັນຊີລາຍຊື່ເລື່ອນລົງທີ່ມີເຄື່ອງຈັກ AI stack ຕ່າງໆຖືກສະແດງ.
    c. ຄລິກ Qualcomm® AI Engine Direct SDK ແລະດາວໂຫຼດແພັກເກັດ Linux v2.14.0.
  4. ຕິດຕັ້ງ Qualcomm® AI Engine Direct SDK ຢູ່ໃນບ່ອນເຮັດວຽກ Ubuntu.
    ກ. ເປີດໃຊ້ໃບອະນຸຍາດ:
    qpm-cli –license-activate qualcomm_ai_engine_direct
    b ຕິດຕັ້ງ AI Engine Direct SDK:
    $ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. ຍູ້ຫ້ອງສະຫມຸດໄປຫາອຸປະກອນຈາກບ່ອນເຮັດວຽກ Ubuntu ດ້ວຍການຊຸກຍູ້ adb.
    $ 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/Qunsigned/ ດັ່ງນັ້ນ /usr/lib/rfsa/adsp

ທົດສອບ Qualcomm TFLite SDK

Qualcomm TFLite SDK ໃຫ້ບາງຕົວຢ່າງampຄໍາຮ້ອງສະຫມັກ le, ເຊິ່ງສາມາດຖືກນໍາໃຊ້ເພື່ອກວດສອບ, benchmark, ແລະໄດ້ຮັບຄວາມຖືກຕ້ອງຂອງຕົວແບບທີ່ນັກພັດທະນາຕ້ອງການປະເມີນ.
ຫຼັງຈາກແພັກເກັດ Qualcomm TFLite SDK ຖືກຕິດຕັ້ງຢູ່ໃນອຸປະກອນ, ເວລາແລ່ນແມ່ນມີຢູ່ໃນອຸປະກອນເພື່ອດໍາເນີນການເຫຼົ່ານີ້.ampຄໍາຮ້ອງສະຫມັກ le.
ເງື່ອນໄຂເບື້ອງຕົ້ນ
ສ້າງໄດເລກະທໍລີຕໍ່ໄປນີ້ໃນອຸປະກອນ:
$ adb shell “mkdir /data/Models”
$ adb shell “mkdir /data/Lables”
$ adb shell “mkdir /data/profiling”

ຮູບພາບປ້າຍຊື່

ຮູບພາບປ້າຍກຳກັບແມ່ນອຸປະກອນທີ່ສະໜອງໃຫ້ໂດຍ Qualcomm TFLite SDK ທີ່ສະແດງວິທີທີ່ທ່ານສາມາດໂຫຼດຕົວແບບ TensorFlow Lite ທີ່ໄດ້ຝຶກອົບຮົມໄວ້ລ່ວງໜ້າ ແລະຖືກປ່ຽນ ແລະໃຊ້ມັນເພື່ອຮັບຮູ້ວັດຖຸໃນຮູບພາບ. ເງື່ອນໄຂເບື້ອງຕົ້ນ:
ດາວ​ໂຫຼດ sampຮູບແບບແລະຮູບພາບ:
ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ຮູບ​ແບບ​ທີ່​ເຂົ້າ​ກັນ​ໄດ້​, ແຕ່​ວ່າ MobileNet v1 ແບບ​ຕໍ່​ໄປ​ນີ້​ສະ​ຫນອງ​ການ​ສາ​ທິດ​ທີ່​ດີ​ຂອງ​ຮູບ​ແບບ​ການ​ຝຶກ​ອົບ​ຮົມ​ເພື່ອ​ຮັບ​ຮູ້ 1000 ວັດ​ຖຸ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​.

  • ຮັບຕົວແບບ
    $ ຄurl 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/
  • ຮັບປ້າຍ
    $ ຄurl 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/
    ຫຼັງຈາກທີ່ທ່ານເຊື່ອມຕໍ່ກັບກ່ອງບັນຈຸ docker Qualcomm TFLite SDK, ຮູບພາບສາມາດພົບໄດ້ທີ່:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
    a. ຍູ້ນີ້ file to/data/Labels/
    b. ດໍາເນີນການຄໍາສັ່ງ:
    $ 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”

ດັດຊະນີ

Qualcomm TFLite SDK ສະຫນອງເຄື່ອງມື benchmarking ເພື່ອຄິດໄລ່ການປະຕິບັດຂອງເວລາແລ່ນຕ່າງໆ.
ເຄື່ອງມືມາດຕະຖານເຫຼົ່ານີ້ປະຈຸບັນວັດແທກແລະຄິດໄລ່ສະຖິຕິສໍາລັບການວັດແທກການປະຕິບັດທີ່ສໍາຄັນຕໍ່ໄປນີ້:

  • ເວລາເລີ່ມຕົ້ນ
  • ໄລຍະເວລາທີ່ສົມມຸດຕິຖານຂອງລັດອົບອຸ່ນ
  • Inference ທີ່ໃຊ້ເວລາຂອງສະຖານະສະຫມໍ່າສະເຫມີ
  • ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາໃນລະຫວ່າງເວລາເລີ່ມຕົ້ນ
  • ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ​ໂດຍ​ລວມ​

ເງື່ອນໄຂເບື້ອງຕົ້ນ

ຍູ້ແບບຈໍາລອງເພື່ອທົດສອບຈາກ TFLite Model Zoo (https://tfhub.dev/) to/data/Models/. ດໍາເນີນການ ສະຄຣິບຕໍ່ໄປນີ້:  

  • ຊຸດ 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/profileing/”
  • ຕົວແທນ 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/profileing/”
  • ຕົວແທນຈາກພາຍນອກ
    QNN ຕົວແທນພາຍນອກ GPU:
    ດຳ​ເນີນ​ການ​ອະ​ພິ​ປາຍ​ດ້ວຍ​ຕົວ​ແບບ​ຈຸດ​ທີ່​ເລື່ອນ​ໄດ້:
    $ 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.sobrary_selli: /adsp'”
    ຕົວແທນພາຍນອກ QNN HTP:
    ດໍາເນີນການ inference ກັບຕົວແບບປະລິມານ:
    $ 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/brussarlir_skel; /adsp'”

ເຄື່ອງມືຄວາມຖືກຕ້ອງ

Qualcomm TFLite SDK ສະຫນອງເຄື່ອງມືຄວາມຖືກຕ້ອງເພື່ອຄິດໄລ່ຄວາມຖືກຕ້ອງຂອງຕົວແບບທີ່ມີເວລາແລ່ນຕ່າງໆ.

  • ການຈັດປະເພດກັບຜູ້ແທນ GPU
    ຂັ້ນ​ຕອນ​ໃນ​ການ​ດາວ​ໂຫຼດ​ທີ່​ຈໍາ​ເປັນ​ files ເພື່ອທົດສອບສາມາດພົບໄດ້ທີ່: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Binary ສໍາລັບແລ່ນເຄື່ອງມືນີ້ແມ່ນສ່ວນຫນຶ່ງຂອງ SDK ແລ້ວ, ດັ່ງນັ້ນນັກພັດທະນາບໍ່ຈໍາເປັນຕ້ອງສ້າງມັນອີກເທື່ອຫນຶ່ງ.
    $ 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”
  • ການກວດຫາວັດຖຸດ້ວຍຊຸດ XNN
    $ adb shell “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac

ຂໍ້ມູນທາງກົດໝາຍ

ການ​ເຂົ້າ​ເຖິງ​ຂອງ​ທ່ານ​ແລະ​ການ​ນໍາ​ໃຊ້​ເອ​ກະ​ສານ​ນີ້​, ພ້ອມ​ກັບ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ກະ​ດານ​ອ້າງ​ອີງ​ files, ຮູບແຕ້ມ, ການວິນິດໄສແລະຂໍ້ມູນອື່ນໆທີ່ມີຢູ່ໃນນີ້ (ລວມກັນນີ້ “ເອກະສານ”), ແມ່ນຂຶ້ນກັບຂອງທ່ານ (ລວມທັງບໍລິສັດ ຫຼືນິຕິບຸກຄົນອື່ນໆທີ່ທ່ານເປັນຕົວແທນ, ລວມກັນ "ເຈົ້າ" ຫຼື "ຂອງເຈົ້າ") ການຍອມຮັບຂໍ້ກໍານົດແລະເງື່ອນໄຂ (“ເງື່ອນ​ໄຂ​ການ​ນໍາ​ໃຊ້”) ກໍານົດໄວ້ຂ້າງລຸ່ມນີ້. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ບໍ່​ເຫັນ​ດີ​ກັບ​ເງື່ອນ​ໄຂ​ການ​ນໍາ​ໃຊ້​ເຫຼົ່າ​ນີ້​, ທ່ານ​ອາດ​ຈະ​ບໍ່​ໄດ້​ນໍາ​ໃຊ້​ເອ​ກະ​ສານ​ນີ້​ແລະ​ຈະ​ທໍາ​ລາຍ​ສໍາ​ເນົາ​ຂອງ​ມັນ​ໃນ​ທັນ​ທີ​.

  1. ປະກາດກົດໝາຍ.
    ເອກະສານນີ້ຈະຖືກເຮັດໃຫ້ສາມາດໃຊ້ໄດ້ສຳລັບທ່ານສຳລັບການນຳໃຊ້ພາຍໃນຂອງທ່ານກັບຜະລິດຕະພັນ ແລະການບໍລິການເຫຼົ່ານັ້ນຂອງ Qualcomm Technologies, Inc. (“Qualcomm Technologies”) ແລະສາຂາຂອງມັນທີ່ໄດ້ອະທິບາຍໄວ້ໃນເອກະສານສະບັບນີ້, ແລະຈະບໍ່ຖືກນຳໃຊ້ເພື່ອຈຸດປະສົງອື່ນໆ. ເອກະສານນີ້ອາດຈະບໍ່ຖືກປ່ຽນແປງ, ດັດແກ້, ຫຼືແກ້ໄຂໃນທາງໃດກໍ່ຕາມໂດຍບໍ່ມີການອະນຸມັດເປັນລາຍລັກອັກສອນຈາກ Qualcomm Technologies. ການນໍາໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຫຼືການເປີດເຜີຍກ່ຽວກັບເລື່ອງນີ້
    ເອກະສານຫຼືຂໍ້ມູນທີ່ມີຢູ່ໃນນີ້ແມ່ນຖືກຫ້າມຢ່າງເຂັ້ມງວດ, ແລະທ່ານຕົກລົງທີ່ຈະຊົດເຊີຍ Qualcomm Technologies, ສາຂາແລະຜູ້ໃຫ້ໃບອະນຸຍາດສໍາລັບຄວາມເສຍຫາຍຫຼືການສູນເສຍທີ່ໄດ້ຮັບຄວາມເສຍຫາຍໂດຍ Qualcomm Technologies, ບໍລິສັດທີ່ກ່ຽວຂ້ອງແລະຜູ້ໃຫ້ໃບອະນຸຍາດສໍາລັບການນໍາໃຊ້ຫຼືການເປີດເຜີຍເອກະສານນີ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ, ທັງຫມົດຫຼື ສ່ວນ. Qualcomm Technologies, ສາຂາຂອງບໍລິສັດ ແລະຜູ້ອອກໃບອະນຸຍາດຮັກສາສິດ ແລະຄວາມເປັນເຈົ້າຂອງທັງໝົດໃນເອກະສານນີ້. ບໍ່ມີໃບອະນຸຍາດໃຫ້ກັບເຄື່ອງໝາຍການຄ້າ, ສິດທິບັດ, ລິຂະສິດ, ສິດທິການປົກປ້ອງວຽກງານໜ້າກາກ ຫຼື ສິດທິຊັບສິນທາງປັນຍາອື່ນໆແມ່ນໄດ້ຮັບການອະນຸຍາດ ຫຼືສະແດງໂດຍເອກະສານສະບັບນີ້ ຫຼືຂໍ້ມູນໃດໆທີ່ເປີດເຜີຍໃນນີ້, ລວມທັງ, ແຕ່ບໍ່ຈຳກັດ, ໃບອະນຸຍາດເຮັດ, ນຳໃຊ້, ນຳເຂົ້າ ຫຼື ຂາຍຜະລິດຕະພັນ, ການບໍລິການຫຼືເຕັກໂນໂລຢີທີ່ນໍາສະເຫນີຂໍ້ມູນໃດໆໃນເອກະສານນີ້.
    ເອກະສານນີ້ຖືກສະໜອງໃຫ້ “ຕາມ” ໂດຍບໍ່ມີການຮັບປະກັນທຸກປະເພດ, ບໍ່ວ່າຈະເປັນການສະແດງອອກ, ໂດຍທາງກົດໝາຍ, ຫຼືທາງກົດໝາຍ. ໃນຂອບເຂດສູງສຸດທີ່ກົດໝາຍອະນຸຍາດ, ເທັກໂນໂລຢີຄຸນນະພາບ, ບໍລິສັດຫຸ້ນສ່ວນ ແລະຜູ້ຮັບອະນຸຍາດ ປະຕິເສດການຮັບປະກັນທັງໝົດຂອງຫົວຂໍ້, ການຄ້າ, ການບໍ່ລະເມີດ, ການສະໝຸນໄພ, ສວນສາທາລະນະ ຄວາມໝັ້ນຄົງ ຫຼືຄວາມຖືກຕ້ອງ, ແລະການຮັບປະກັນທັງໝົດທີ່ເກີດຂຶ້ນຈາກການນຳໃຊ້ການຄ້າ ຫຼື ຢູ່ນອກຫຼັກສູດຂອງການຈັດການ ຫຼືຫຼັກສູດການປະຕິບັດ. ຍິ່ງໄປກວ່ານັ້ນ, ເທັກໂນໂລຍີທີ່ມີຄວາມສາມາດ, ຫຼືບໍລິສັດທີ່ກ່ຽວຂ້ອງ ຫຼືຜູ້ອອກໃບອະນຸຍາດໃດໆ, ຈະຕ້ອງຮັບຜິດຊອບຕໍ່ເຈົ້າ ຫຼືພາກສ່ວນທີສາມສຳລັບຄ່າໃຊ້ຈ່າຍ, ການສູນເສຍ, ການນຳໃຊ້, ຫຼືການກະທຳໃດໆກໍຕາມໃນກໍລະນີໃດກໍ່ຕາມ. ເອກະສານ.
    ຊຸດຜະລິດຕະພັນ, ເຄື່ອງມື ແລະວັດສະດຸບາງອັນທີ່ອ້າງອີງໃນເອກະສານສະບັບນີ້ອາດຈະຮຽກຮ້ອງໃຫ້ທ່ານຍອມຮັບເງື່ອນໄຂ ແລະເງື່ອນໄຂເພີ່ມເຕີມກ່ອນທີ່ຈະເຂົ້າເຖິງ ຫຼືນຳໃຊ້ລາຍການເຫຼົ່ານັ້ນ.
    ຂໍ້ມູນດ້ານວິຊາການທີ່ລະບຸໄວ້ໃນເອກະສານສະບັບນີ້ອາດເປັນໄປຕາມກົດໝາຍຄວບຄຸມການສົ່ງອອກຂອງສະຫະລັດ ແລະ ອື່ນໆ. ການສົ່ງຕໍ່ທີ່ຂັດກັບສະຫະລັດ ແລະກົດໝາຍອື່ນໆທີ່ນຳໃຊ້ຖືກຫ້າມຢ່າງເຂັ້ມງວດ.
    ບໍ່ມີຫຍັງຢູ່ໃນເອກະສານນີ້ແມ່ນການສະເຫນີຂາຍອົງປະກອບຫຼືອຸປະກອນທີ່ອ້າງອີງໃນທີ່ນີ້.
    ເອກະສານນີ້ແມ່ນມີການປ່ຽນແປງໂດຍບໍ່ມີການແຈ້ງການເພີ່ມເຕີມ. ໃນກໍລະນີຂອງການຂັດແຍ້ງລະຫວ່າງເງື່ອນໄຂການນໍາໃຊ້ເຫຼົ່ານີ້ແລະ Webເງື່ອນ ໄຂ ການ ນໍາ ໃຊ້ ເວັບ ໄຊ ສຸດ www.qualcomm.com ຫຼືນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງ Qualcomm ທີ່ອ້າງອີງໃສ່ www.qualcomm.com, ເງື່ອນໄຂການນໍາໃຊ້ເຫຼົ່ານີ້ຈະຄວບຄຸມ. ໃນກໍລະນີທີ່ມີຂໍ້ຂັດແຍ່ງລະຫວ່າງເງື່ອນໄຂການໃຊ້ງານເຫຼົ່ານີ້ ແລະຂໍ້ຕົກລົງອື່ນໆ (ຂຽນ ຫຼືຄລິກຜ່ານ) ທີ່ປະຕິບັດໂດຍທ່ານ ແລະ Qualcomm Technologies ຫຼືບໍລິສັດທີ່ກ່ຽວຂ້ອງຂອງ Qualcomm Technologies ກ່ຽວກັບການເຂົ້າເຖິງ ແລະການນໍາໃຊ້ເອກະສານນີ້, ຂໍ້ຕົກລົງອື່ນຈະຄວບຄຸມ. .
    ເງື່ອນໄຂການນໍາໃຊ້ເຫຼົ່ານີ້ຈະຖືກຄວບຄຸມໂດຍແລະ construed ແລະບັງຄັບໃຫ້ສອດຄ່ອງກັບກົດຫມາຍຂອງລັດຄາລິຟໍເນຍ, ຍົກເວັ້ນສົນທິສັນຍາສະຫະປະຊາຊາດກ່ຽວກັບການຂາຍສິນຄ້າລະຫວ່າງປະເທດ, ໂດຍບໍ່ຄໍານຶງເຖິງຂໍ້ຂັດແຍ່ງຂອງຫຼັກການກົດຫມາຍ. ການຂັດແຍ້ງ, ການຮຽກຮ້ອງ ຫຼືການໂຕ້ແຍ້ງທີ່ເກີດຂຶ້ນຈາກ ຫຼືກ່ຽວຂ້ອງກັບເງື່ອນໄຂການນຳໃຊ້ເຫຼົ່ານີ້, ຫຼືການລະເມີດ ຫຼືຄວາມຖືກຕ້ອງຂອງກົດໝາຍນີ້, ຈະຖືກຕັດສິນໂດຍສານທີ່ມີສິດອຳນາດຢູ່ໃນເຂດຊານດິເອໂກ, ລັດຄາລິຟໍເນຍເທົ່ານັ້ນ, ແລະທ່ານຍິນຍອມເຫັນດີນຳ. ສິດອຳນາດສ່ວນຕົວຂອງສານດັ່ງກ່າວເພື່ອຈຸດປະສົງນັ້ນ.
  2. ຄໍາຖະແຫຼງການເຄື່ອງໝາຍການຄ້າ ແລະຜະລິດຕະພັນ.
    Qualcomm ແມ່ນເຄື່ອງໝາຍການຄ້າ ຫຼືເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Qualcomm Incorporated. Arm ເປັນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Arm Limited (ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ) ໃນສະຫະລັດ ແລະ/ຫຼືຢູ່ບ່ອນອື່ນ. ເຄື່ອງໝາຍຄຳສັບBluetooth®ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນເປັນເຈົ້າຂອງໂດຍ Bluetooth SIG, Inc. ຜະລິດຕະພັນ ແລະຊື່ຍີ່ຫໍ້ອື່ນໆທີ່ອ້າງອີງໃນເອກະສານສະບັບນີ້ອາດຈະເປັນເຄື່ອງໝາຍການຄ້າ ຫຼືເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງເຈົ້າຂອງທີ່ກ່ຽວຂ້ອງ.
    ຜະລິດຕະພັນຍີ່ຫໍ້ Snapdragon ແລະ Qualcomm ທີ່ອ້າງອີງໃນເອກະສານນີ້ແມ່ນຜະລິດຕະພັນຂອງ Qualcomm Technologies, Inc. ແລະ/ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. ເທັກໂນໂລຍີທີ່ໄດ້ຮັບສິດທິບັດ Qualcomm ແມ່ນໄດ້ຮັບອະນຸຍາດຈາກ Qualcomm Incorporated.

ໂລໂກ້ບໍລິສັດ

ເອກະສານ / ຊັບພະຍາກອນ

ຊອບແວ Qualcomm TensorFlow Lite SDK [pdf] ຄູ່ມືຜູ້ໃຊ້
ຊອບແວ TensorFlow Lite SDK, ຊອບແວ Lite SDK, ຊອບແວ SDK, ຊອບແວ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *