Qualcomm TensorFlow Lite SDK Software User Guide
Logo ya Kampani

Mbiri yobwereza

Kubwereza Tsiku Kufotokozera
AA Seputembara 2023 Kutulutsidwa koyamba
AB Okutobala 2023

Chidziwitso cha zida za Qualcomm TFLite SDK

Zida zopangira mapulogalamu a Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) zimapereka dongosolo la TensorFlow Lite la inferencing pa chipangizo cha Artificial Intelligence (AI), yomwe imathandizira opanga mapulogalamu kupanga kapena kuyendetsa mapulogalamu oyenera a AI.
Chikalatachi chimapereka malangizo a pang'onopang'ono kuti apange standalone Qualcomm TFLite SDK ndikukhazikitsa malo otukuka. Izi zimathandizira magwiridwe antchito, omwe akuphatikizapo:

  • kukhazikitsa malo omangira komwe wopanga amatha kupanga Qualcomm TFLite SDK
  • kupanga ma standalone Qualcomm TFLite SDK mapulogalamu

Kuti mupeze chithandizo, onani https://www.qualcomm.com/thandizo. Chiwerengero chotsatirachi chikupereka chidule cha mayendedwe a Qualcomm TFLite SDK: "
Chithunzi 1-1 Qualcomm TFLite SDK mayendedwe a ntchito
Chidachi chimafuna nsanja ya SDK ndi kasinthidwe file (mtundu wa JSON) kuti mupange zojambula za Qualcomm TFLite SDK.

Kuti mupange pulogalamu yotsiriza-kumapeto pogwiritsa ntchito ma multimedia, AI, ndi mawonedwe apakompyuta (CV), onani Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).
Gome likuwonetsa mapu a mtundu wa Qualcomm TFLite SDK wokhala ndi kutulutsidwa kwa CodeLinaro tag:
Table 1-1 Zambiri zotulutsidwa
Kulumikizana

Mtundu wa Qualcomm TFLite SDK Kutulutsidwa kwa CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Table 1-2 Yothandizira mitundu ya Qualcomm TFLite SDK

Qualcomm Mtundu wa TFLite SDK Anathandiza mapulogalamu mankhwala Mtundu wa TFLite wothandizidwa
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Maumboni
Table 1-3 Zolemba zogwirizana

Mutu Nambala
Qualcomm
00067.1 Chidziwitso Chotulutsidwa cha QCS8550.LE.1.0 RNO-230830225415
Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide 80-50450-51
Qualcomm Intelligent Multimedia SDK (QIM SDK) Reference 80-50450-50
Zida
https://source.android.com/docs/setup/start/initializing

Table 1-4 Acronyms ndi matanthauzo

Acronym kapena term Tanthauzo
AI Nzeru zochita kupanga
BIOS Basic input/output system
CV Mawonekedwe apakompyuta
IPK Itsy paketi file
Chithunzi cha QIM SDK Qualcomm Intelligent multimedia software development kit
SDK Zida zopangira mapulogalamu
TFLite TensorFlow Lite
Zithunzi za XNN Xth mnansi wapafupi

Konzani malo opangira zida za Qualcomm TFLite SDK

Zida za Qualcomm TFLite SDK zimatulutsidwa mu mawonekedwe; chifukwa chake, kukhazikitsa malo omanga kuti apange ndikukakamiza koma kukhazikitsa kamodzi.

Zofunikira

  • Onetsetsani kuti muli ndi sudoaccess yamakina a Linux host.
  • Onetsetsani kuti mtundu wa Linux host ndi Ubuntu 18.04 kapena Ubuntu 20.04.
  • Onjezani ulonda wochuluka wa ogwiritsa ntchito komanso kuchuluka kwa ogwiritsa ntchito pamakina ochezera.
  • Onjezani mizere yotsatirayi ku/etc/sysctl.confand kuyambitsanso nkhokwe: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Ikani phukusi loyenera la alendo

Phukusi la alendo limayikidwa pa makina a Linux host.
Thamangani malamulo kuti muyike ma phukusi: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
Kwa Ubuntu 18.04 ndi apamwamba:
$ sudo apt-get kukhazikitsa git-core gnupg flex bison kumanga-zofunikira 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 fontproutic
Kuti mudziwe zambiri, onani https://source.android.com/docs/setup/start/initializing.

Konzani malo a docker

Docker ndi nsanja yomwe imagwiritsidwa ntchito pomanga, kupanga, kuyesa, ndi kutumiza mapulogalamu. Kuti mupange SDK, docker iyenera kukhazikitsidwa pamakina a Linux host.
Onetsetsani kuti CPU virtualization yayatsidwa pa makina a Linux host. Ngati sichinayimbidwe, chitani zotsatirazi kuti muyitsegule kuchokera pamakonzedwe oyambira / zotulutsa (BIOS):

  1. Yambitsani virtualization kuchokera ku BIOS:
    a. Dinani F1 kapena F2 pamene dongosolo likuyambira kuti lilowe mu BIOS. Iwindo la BIOS likuwonetsedwa.
    b. Sinthani ku Advanced tabu.
    c. Mugawo la CPU Configuration, ikani Virtualization Technology kuti Yathandize.
    a. Dinani F12 kuti musunge ndikutuluka, ndikuyambitsanso dongosolo.
    Ngati masitepewa sakugwira ntchito, tsatirani malangizo enieni ochokera kwa opereka makina kuti muthe kugwiritsa ntchito virtualization
  2. Chotsani zochitika zakale za docker:
    $ sudo apt chotsani docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Konzani malo akutali a docker:
    $ sudo apt-get update $ sudo apt-get install ca-certification curl gnupg lsb-kutulutsa $ 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) sign-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) khola” | sudo tee /etc/apt/sources.list.d/ docker.list> /dev/null
  4.  Ikani injini ya docker:
    $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli
  5.  Onjezani wosuta ku gulu la docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Yambitsaninso dongosolo.

Pangani nsanja ya SDK

Pulatifomu ya SDK ndiyofunikira kuti mupange zida za Qualcomm TFLite SDK. Imapereka zonse zofunikira papulatifomu zomwe zimafunidwa ndi Qualcomm TFLite SDK.
Chitani zotsatirazi kuti mupange nsanja ya SDK:

  1. Pangani dongosolo la pulogalamu yomwe mumakonda.
    Malangizo opangira QCS8550.LE.1.0release aperekedwa muzolemba zotulutsa. Kuti mupeze zolemba zotulutsa, onani References.
    Ngati zithunzizo zidamangidwa kale, chitani gawo 2, kenako pangani zomanga zoyera.
  2. Thamangani lamulo ili kuti mupange zithunzi za ogwiritsa ntchito ndi nsanja ya SDK:
    Kwa QCS8550.LE.1.0, onjezani makina omwe ali ndi qti-tflite-delegate mu MACHINE_FEATURES mu kalama.conf file ndikukhazikitsa malo omangira molingana ndi malangizo ochokera ku zolemba zotulutsa.
    Pambuyo popanga zithunzi za malo ogwiritsira ntchito pomanga, yendetsani lamulo ili kuti mupange nsanja ya SDK.
    $ bitbake -fc populate_sdk qti-robotics-chithunzi

Pangani zida za Qualcomm TFLite SDK - mayendedwe omanga

Zida za Qualcomm TFLite SDK zogwirira ntchito zimafuna wopanga kuti apereke kasinthidwe file ndi zolembera zovomerezeka. Zolemba zothandizira zipolopolo zochokera ku pulojekiti ya tflite-zida (zilipo mumtengo wamtundu wa Qualcomm TFLite SDK) zimapereka ntchito zothandizira kukhazikitsa chilengedwe cha zipolopolo, zomwe zingagwiritsidwe ntchito pa Qualcomm TFLite SDK workflow.
Wopanga mapulogalamu amamanga mapulojekiti a Qualcomm TFLite SDK mkati mwa chidebecho ndikupanga zinthu zakale pogwiritsa ntchito zida zoperekedwa ndi zida za tflite.
Chidebe cha Qualcomm TFLite SDK chikamangidwa, wopanga mapulogalamuwo amatha kumamatira ku chidebecho ndikugwiritsa ntchito zothandizira zomwe zili mu chipolopolo cha chidebe kuti chitukuke mosalekeza.

  • Pali makonzedwe oyika zinthu zakale za Qualcomm TFLite SDK ku chipangizo cha Qualcomm cholumikizidwa ndi makina a Linux kudzera pa USB/adb.
  • Palinso makonzedwe okopera zojambula za Qualcomm TFLite SDK kuchokera pachidebecho kupita kumakina ena olandila komwe chipangizo cha Qualcomm chimalumikizidwa.
    Kulumikizana

Chithunzi chotsatirachi chikulemba mndandanda wazinthu zomwe zilipo mutakhazikitsa malo osungiramo zotengera pogwiritsa ntchito zolemba zothandizira pomanga Qualcomm TFLite SDK.
Kulumikizana

Chithunzichi chikuwonetsa kutsatizana kwa magwiridwe antchito:
Chithunzi 4-3 Kutsatizana kwa zofunikira pa host host
Kulumikizana

Gwirizanitsani ndikumanga Qualcomm TFLite SDK
Qualcomm TFLite SDK imapangidwa pomwe chithunzi cha docker chimapangidwa. Kuti mulunzanitse ndikumanga Qualcomm TFLite SDK, chitani izi:

  1. Pangani chikwatu pa host host file dongosolo kuti mulunzanitse malo ogwirira ntchito a Qualcomm TFLite SDK. Za
    exampLe: $mkdi $cd
  2. Tengani gwero la Qualcomm TFLite SDK kuchokera ku 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 kutulutsa && kulunzanitsa repo -qc -no-tags -j
  3. Pangani chikwatu pa host host file dongosolo lomwe likhoza kukhazikitsidwa mu docker. Za example: mkdir-p / Bukuli litha kupangidwa paliponse pamakina a Linux, ndipo sizitengera komwe pulojekiti ya Qualcomm TFLite SDK imalumikizidwa. Ntchito ikamalizidwa mkati mwa chidebecho, zojambula za Qualcomm TFLite SDK zitha kupezeka patsamba lomwe lapangidwa mu sitepe iyi.
  4. Sinthani kasinthidwe ka JSON file kupezeka mu /tflite-tools/ targets/le-tflite-tools-builder.json ndi zolemba zotsatirazi:
    "Image": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: {“Hexagon_delegate”: “WOZIMA”, “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”: “” }
    Kuti mumve zambiri pazomwe zatchulidwa mu json kasinthidwe file, onani Docker.md readme file pa /tflite-tools/.
    ZINDIKIRANI Kwa QCS8550, nthumwi ya Qualcomm® Hexagon™ DSP sichirikizidwa.
  5. Pezani script kuti mukhazikitse chilengedwe:
    $cd /tflite-tools $ gwero ./scripts/host/docker_env_setup.sh
  6.  Mangani chithunzi cha docker cha Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Ngati kukhazikitsidwa kwanyumba sikulephera, onani Kukhazikitsa kwa Troubleshoot docker. Mukamaliza bwino, uthenga wotsatira umawonetsedwa: "Mkhalidwe: Mangani chithunzi chamalizidwa bwino!!" Kuthamanga izi kumapanganso Qualcomm TFLite SDK.
  7.  Thamangani chidebe cha docker cha Qualcomm TFLite SDK. Izi zimayamba ndi chidebecho tags zoperekedwa mukusintha kwa JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Gwirizanitsani ku chidebe chomwe chinayambira kuchokera pa sitepe yapitayi.
    $ docker phatikizani

Qualcomm TFLite SDK yapangidwa, ndipo zinthu zakale zakonzeka kutumizidwa kapena kupitilira apo.
amagwiritsidwa ntchito kupanga pulagi ya QIM SDK TFLite.

Lumikizani chipangizo kuti mulandire ndi kutumiza zinthu zakale]

Pambuyo pakupanga, pali njira ziwiri zolumikizira chipangizocho kwa wolandila ndikutumiza
Zojambula za Qualcomm TFLite SDK.

  • Chipangizo cholumikizidwa ndi wolandila Linux wakomweko:
    Wopanga mapulogalamu amalumikiza chipangizocho ku malo ogwirira ntchito ndikuyika zida za Qualcomm TFLite SDK kuchokera pachidebe mwachindunji pa chipangizocho (QCS8550).
  • Chipangizo cholumikizidwa ndi wolandila akutali:
    Wopanga mapulogalamu amalumikiza chipangizochi kumalo ogwirira ntchito akutali, ndipo amatha kugwiritsa ntchito malamulo oyika paketi pa Windows ndi Linux kuti ayike zida za Qualcomm TFLite SDK ku chipangizocho (QCS8550)

Chithunzi 4-4 Kulumikizana kwa board board kwa wopanga ndi malo ogwirira ntchito akutali
Kulumikizana

Lumikizani chipangizo ku malo ogwirira ntchito

Chipangizocho chimalumikizidwa ndi malo ogwirira ntchito ndipo chotengera chotukula chimatha kulumikizana ndi chipangizocho kudzera pa USB/adb.
Chithunzicho chikuwonetsa stagndi mndandanda wamayendedwe a Qualcomm TFLite SDK:
Kulumikizana

  1. Pangani malamulo otsatirawa kuti muyike zinthu zakale ku chipangizochi:
    $ tflite-zida-chipangizo-konzekerani
    $ tflite-zida-chipangizo-deploy
  2. Kuti muchotse zinthu zakale, yendetsani lamulo ili:
    $ tflite-zida-chipangizo-maphukusi-chotsani

Lumikizani chipangizo ku makina akutali

Chipangizocho chimalumikizidwa ndi makina akutali, ndipo chidebe cha Qualcomm TFLite SDK sichingathe kupeza chipangizocho kudzera pa USB/ad b.
Chithunzicho chikuwonetsa stagndi mndandanda wamayendedwe a Qualcomm TFLite SDK:
Kulumikizana

Tsatirani malamulo otsatirawa mu chidebe cha tflite-tools kuti mukopere zinthu zakale pamakina akutali
kutengera woyang'anira phukusi pazida:
$ tflite-zida-kutali-sync-ipk-rel-pkg
ZINDIKIRANI Zambiri zamakina akutali zaperekedwa pakusintha kwa JSON file.
Ikani zinthu zakale za nsanja ya Windows
Zojambula za Qualcomm TFLite SDK zitha kukhazikitsidwa pa chipangizocho potengera makina ogwiritsira ntchito makina akutali.

Kwa nsanja ya Windows, chitani izi:
Pa PowerShell, gwiritsani ntchito zolemba zotsatirazi: PS C:
> adb root PS C:> adb disable-verity PS C:> adb reboot PS C:> adb wait-for-chipangizo PS C:> adb root PS C:> adb remount PS C:> adb shell mount -o remount, rw / PS C:> adb chipolopolo “mkdir -p / tmp” PS C:> adb kukankha /tmp Ngati phukusi ndi ipk (kwa QCS8550.LE.1.0), gwiritsani ntchito malamulo awa: PS C:> adb chipolopolo “ opkg -force-depends -force-reinstall -force-overwrite install /tmp/”

Ikani zinthu zakale za nsanja ya Linux
Gwiritsani ntchito malamulo awa:
$ adb muzu $ adb zimitsani-verity $ adb kuyambiransoko $ adb dikirani-chipangizo $ adb muzu $ adb remount $ adb chipolopolo phiri -o remount, rw / $ adb chipolopolo "mkdir -p / tmp" $ adb kukankha /tmp Ngati phukusi ndi ipk (ya QCS8550.LE.1.0): $ adb chipolopolo "opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Yeretsani chithunzi cha docker
Mukamaliza ntchito yokonza mapulogalamu, malo a docker ayenera kutsukidwa kuti amasule zosungirako pa disk. Kuyeretsa docker kumachotsa zotengera zosagwiritsidwa ntchito ndi zithunzi, motero kumasula malo a disk.
Gwiritsani ntchito malamulo otsatirawa kuti muyeretse chithunzi cha docker:

  1. Pangani lamulo ili pa Linux workstation:
    $cd /tflite-zida
  2. Imitsani chidebecho:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Chotsani chidebecho:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Chotsani zithunzi zakale za docker:
    $ tflite-zida-host-zithunzi-kuyeretsa

Kuthetsa kukhazikitsa docker

Ngati lamulo la tflite-tools-host-build-image likubweza Nospace yotsalira pa uthenga wa chipangizo, ndiye sunthani bukhu la docker kupita ku/local/mnt. Chitani zotsatirazi kuti muthetse vutoli:

  1. Sungani docker yomwe ilipo files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(deti + %s).tar.gz
  2. Imitsani docker:
    $ service docker kuyimitsa
  3. Onetsetsani kuti palibe njira ya docker yomwe ikuyenda:
    $ ps zabodza | grep docker
  4. Yang'anani mawonekedwe a chikwatu cha docker:
    $ sudo ls /var/lib/docker/
  5. Sunthani chikwatu cha docker kupita kugawo latsopano:
    $ mv /var/lib/docker /local/mnt/docker
  6. Pangani symlink ku chikwatu cha docker mugawo latsopano:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Onetsetsani kuti chikwatu cha docker sichinasinthe:
    $ sudo ls /var/lib/docker/
  8. Yambani docker:
    $ service docker kuyamba
  9. Yambitsaninso zotengera zonse mutasuntha chikwatu cha docker.

Pangani TFLite SDK ndi Linux workstation

Kuyendera kwa TFLite SDK kumatha kuthandizidwa popanda zotengera pogwiritsa ntchito malo ogwirira ntchito a Linux. Njirayi ndi njira ina yogwiritsira ntchito zotengera.
Kuti mulunzanitse ndikumanga Qualcomm TFLite SDK, chitani izi:

  1. Pangani chikwatu pa host host file dongosolo kuti mulunzanitse malo ogwirira ntchito a Qualcomm TFLite SDK. Za exampLe:
    $mkdi
    $cd
  2. Tengani gwero la Qualcomm TFLite SDK kuchokera ku 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 kutulutsa && kulunzanitsa repo -qc -no-tags -j8 && kulunzanitsa repo -qc -no-tags -j8
  3. 3. Sinthani makonzedwe a JSON file alipo mu /tflite-tools/ targets/le-tflite-tools-builder.json ndi zolemba zotsatirazi
    "Image": "tflite-tools-builder", "Device_OS": "le", "Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Delegates”: {“Hexagon_delegate”: “WOZIMA”, “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”: “”
    Kuti mumve zambiri pazomwe zatchulidwa mu json kasinthidwe file, onani Docker.md readme file ku /tflite-zida/.
    ZINDIKIRANI Kwa QCS8550, nthumwi za Hexagon DSP sizimathandizidwa
  4. Pezani script kuti mukhazikitse chilengedwe:
    $cd /tflite-zida
    $ gwero ./scripts/host/host_env_setup.sh
  5. Pangani Qualcomm TFLite SDK.
    $ tflite-zida-kukhazikitsa zolinga/le-tflite-tools-builder.json
  6.  Pangani malamulo otsatirawa mu chipolopolo chomwecho cha Linux kuti mutenge za TFLite SDK kuchokera 
    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. Ikani zinthu zakale pogwiritsa ntchito makina opangira
    • Pa nsanja ya Windows, pa PowerShell, gwiritsani ntchito zolemba zotsatirazi
      PS C:> adb muzu PS C:> adb zimitsani-verity PS C:> adb kuyambiransoko PS C:> adb dikirani-chipangizo PS C:> adb muzu PS C:> adb remount PS C:> adb chipolopolo phiri - o remount, rw / PS C:> adb chipolopolo "mkdir -p / tmp" PS C:> adb kukankha / tmp
      Ngati phukusili ndi ipk (ya QCS8550.LE.1.0), gwiritsani ntchito malamulo awa:
      PS C:> adb chipolopolo "opkg -force-depends -force-reinstall -forceoverwrite install /tmp/
      Pa nsanja ya Linux, gwiritsani ntchito script zotsatirazi:
      $ adb muzu $ adb zimitsani-verity $ adb kuyambiransoko $ adb dikirani-chipangizo $ adb muzu $ adb remount $ adb chipolopolo phiri -o remount, rw / $ adb chipolopolo "mkdir -p / tmp" $ adb kukankha /tmp Ngati phukusili ndi ipk (ya QCS8550.LE.1.0):
      $ adb chipolopolo "opkg -force-depends -force-reinstall -force-overwrite install /tmp/"

Pangani zojambula za Qualcomm TFLite SDK zomanga za QIM SDK

Kuti mugwiritse ntchito zinthu zakale kuti mutsegule plug-in ya Qualcomm TFLite SDK GStreamer mu QIM SDK, chitani izi:

  1. Malizitsani njirayi mu Sync ndi kupanga Qualcomm TFLite SDK, ndiyeno yendetsani lamulo ili: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    A phula file amapangidwa. Ili ndi Qualcomm TFLite SDK panjira yoperekedwa pa "TFLite_rsync_destination"
  2. Kuti mutsegule plug-in ya Qualcomm TFLite SDK GStreamer, gwiritsani ntchito tar file monga mkangano mu kasinthidwe ka JSON file kwa QIM SDK yomanga.
    Kuti mudziwe zambiri pakukonza QIM SDK, onani Qualcomm Intelligent Multimedia SDK (QIM SDK) Quick Start Guide (80-50450-51).

Pangani Qualcomm TFLite SDK pang'onopang'ono

Ngati mukumanga Qualcomm TFLite SDK kwa nthawi yoyamba, onani Mangani zida za Qualcomm TFLite SDK - mayendedwe a mapulogalamu. Malo omangira omwewo atha kugwiritsidwanso ntchito pakukula kwachitukuko.
Zida zothandizira (mkati mwa chidebe) zomwe zatchulidwa pachithunzichi zimapezeka kwa omanga kuti apange mapulogalamu osinthidwa ndi mapulagini.
Chithunzi 5-1 Mayendedwe a ntchito mu chidebe

Kulumikizana

Mukamaliza kusintha ma code mu code code, chitani izi:

  1. Pangani code yosinthidwa:
    $ tflite-zida-zowonjezera-zomanga-kukhazikitsa
  2. Phukusi lapangidwa kodi:
    $ tflite-zida-ipk-rel-pkg kapena $ tflite-zida-deb-rel-pkg
  3. Gwirizanitsani zotulutsa ndi wolandira file dongosolo:
    $ tflite-zida-kutali-sync-ipk-rel-pkg
    Or
    $ tflite-zida-kutali-sync-deb-rel-pkg
  4. Konzani phukusi la dev:
    $ tflite-zida-ipk-dev-pkg
    Zinthu zakale zomwe zaphatikizidwa zikupezeka mu foda ya TFLite_rsync_destination yotchulidwa mu JSON. file, yomwe imatha kukopera ku chikwatu chilichonse.

Gwirani ntchito ndi QNN kunja kwa TFLite Delegate

TFLite External Delegate imakupatsani mwayi woyendetsa mitundu yanu (gawo kapena lonse) kwa wotsogolera wina pogwiritsa ntchito malaibulale operekedwa ndi anthu ena odalirika ngati QNN ndi Qualcomm. Makinawa amatha kugwiritsa ntchito ma accelerator osiyanasiyana pazida monga GPU kapena Hexagon Tensor processor (HTP) kuti afotokozere. Izi zimapatsa opanga njira yosinthika komanso yosinthika kuchokera ku TFLite yokhazikika kuti ifulumizitse malingaliro.

Zofunikira:

  • Onetsetsani kuti mumagwiritsa ntchito Ubuntu kuti muchotse stack ya QNN AI.
  • Onetsetsani kuti mumagwiritsa ntchito mtundu wa QNN 2.14 kuti ukhale wolumikizana ndi Qualcomm TFLite SDK

Qualcomm TFLite SDK imayatsidwa kuti izitha kuyendetsa zongopeka pamapeto angapo a QNN kudzera pa TFLite Delegate yakunja ya QNN. Mitundu ya TFLite yokhala ndi choyimira chodziwika bwino cha flatbuffer imatha kuyendetsedwa pa GPU ndi HTP.
Pambuyo pake phukusi la Qualcomm TFLite SDK litayikidwa pa chipangizocho, chitani zotsatirazi kuti muyike makalata a QNN pa chipangizocho.

  1. Tsitsani Qualcomm Package Manager 3 ya Ubuntu.
    a. Dinani https://qpm.qualcomm.com/, ndikudina Zida.
    b. Kumanzere, m'munda wa Zida Zosaka, lembani QPM. Kuchokera pamndandanda wa System OS, sankhani Linux.
    Zotsatira zakusaka zikuwonetsa mndandanda wa Oyang'anira Phukusi la Qualcomm.
    c. Sankhani Qualcomm Package Manager 3 ndikutsitsa phukusi la Linux debian.
  2. Ikani Qualcomm Package Manager 3 ya Linux. Gwiritsani ntchito lamulo ili:
    $ dpkg -i -kakamiza-kulembera /njira/ku/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Tsitsani mtundu waposachedwa wa Qualcomm®
    AI Engine Direct SDK pa Ubuntu workstation.
    a. Dinani https://qpm.qualcomm.com/ ndikudina Zida.
    b. Pagawo lakumanzere, m'munda wa Zida Zosaka, lembani stack ya AI. Kuchokera pamndandanda wa System OS, sankhani Linux.
    A mndandanda wotsikira pansi wokhala ndi mainjini osiyanasiyana amtundu wa AI ukuwonetsedwa.
    c. Dinani Qualcomm® AI Engine Direct SDK ndikutsitsa phukusi la Linux v2.14.0.
  4. Ikani Qualcomm® AI Engine Direct SDK pa Ubuntu workstation.
    a. Yambitsani chilolezo:
    qpm-cli -license-activate qualcomm_ai_engine_direct
    b Ikani AI Engine Direct SDK:
    $ qpm-cli -extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Kankhirani malaibulale ku chipangizocho kuchokera ku Ubuntu workstation ndi adb push.
    $ cd /opt/qcom/aistack/qnn/2.14.0.230828 $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnDsp.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe- linux-gcc11.2/ libQnnDspV66Stub.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe-linux-gcc11.2/ libQnnGpu.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpPrepare.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnHtp.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpV68Stub.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe-linux-gcc11.2/ libQnnSaver.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe- linux-gcc11.2/ libQnnSystem.so /usr/lib/ $ adb kukankha ./lib/aarch64-oe-linux-gcc11.2/ libQnnTFLiteDelegate.so /usr/lib/ $ adb kukankha ./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/ libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb kukankha ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned/ libQnnHtpV73Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-vXNUMX/unsigned/ libQnnHtpVXNUMXSkel. kotero /usr/lib/rfsa/adsp

Yesani Qualcomm TFLite SDK

Qualcomm TFLite SDK imapereka ma example mapulogalamu, omwe angagwiritsidwe ntchito kutsimikizira, kuyika chizindikiro, ndikupeza zolondola zamitundu yomwe wopanga akufuna kuwunika.
Pambuyo pake phukusi la Qualcomm TFLite SDK litayikidwa pa chipangizocho, nthawi yothamanga imapezeka pa chipangizo kuti mugwiritse ntchito izi.ampndi application.
Chofunikira
Pangani ndandanda zotsatirazi pa chipangizo:
$ adb chipolopolo "mkdir / data/Models"
$ adb chipolopolo "mkdir / data/Lables"
$ adb chipolopolo "mkdir / data/profiling"

Lembani chithunzi

Chithunzi chojambulidwa ndi chida choperekedwa ndi Qualcomm TFLite SDK chomwe chimawonetsa momwe mungakhazikitsire mtundu wa TensorFlow Lite wophunzitsidwa kale ndikuwugwiritsa ntchito kuzindikira zinthu pazithunzi. Zofunikira:
Tsitsani sample model ndi chithunzi:
Mutha kugwiritsa ntchito mtundu uliwonse wogwirizana, koma mtundu wotsatira wa MobileNet v1 umapereka chiwonetsero chabwino cha mtundu wophunzitsidwa kuzindikira zinthu 1000 zosiyanasiyana.

  • Pezani chitsanzo
    $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/
  • Pezani zilembo
    $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/
    Mukalumikizana ndi chidebe cha docker cha Qualcomm TFLite SDK, chithunzichi chingapezeke pa:
    "/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp”
    a. Kankhani izi file ku/data/Labels/
    b. Yendetsani lamulo:
    $ adb chipolopolo "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 imapereka chida chowerengera kuti muwerengere magwiridwe antchito anthawi zosiyanasiyana.
Zida zoyezera izi pakali pano zimayezera ndi kuwerengera ziwerengero za miyeso yofunikira iyi:

  • Nthawi yoyambira
  • Inference nthawi ya kutentha kutentha
  • Inference nthawi yokhazikika
  • Kugwiritsa ntchito kukumbukira panthawi yoyambira
  • Kugwiritsa ntchito kukumbukira konse

Zofunikira

Kankhani zitsanzo kuti ziyesedwe kuchokera ku TFLite Model Zoo (https://tfub.dev/) ku/data/Models/. Thamangani malemba otsatirawa:  

  • XNN paketi
    $ adb chipolopolo "benchmark_model -graph=/data/Models/ - enable_op_profiling=zoona -use_xnnpack=zoona -num_threads=4 -max_secs=300 -profiling_output_csv_file=/data/profiling/”
  • GPU Delegate
    $ adb chipolopolo "benchmark_model -graph=/data/Models/ - enable_op_profiling=zoona -use_gpu=zoona -num_runs=100 -warmup_runs=10 - max_secs=300 -profiling_output_csv_file=/data/profiling/”
  • Nthumwi Yakunja
    QNN External Delegate GPU:
    Thamangani molozera ndi chitsanzo choyandama:
    $ adb chipolopolo-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu/usryskerd_brary /adsp'"
    QNN Nthumwi Zakunja HTP:
    Yendetsani malingaliro ndi quant model:
    $ adb chipolopolo-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtlr_brarysker; /adsp'"

Chida cholondola

Qualcomm TFLite SDK imapereka chida cholondola chowerengera kulondola kwamitundu yokhala ndi nthawi zosiyanasiyana zothamanga.

  • Gulu ndi nthumwi ya GPU
    Njira download zofunika files kuyesa angapezeke pa: "/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md"
    Binary yogwiritsira ntchito chida ichi ndi gawo la SDK, kotero woyambitsa sayenera kumanganso.
    $ adb chipolopolo "image_classify_run_eval - model_file=/data/Models/ -ground_truth_images_path=/data/ — ground_truth_labels=/data/ -model_output_labels=/ data/ -delegate=gpu”
  • Kuzindikira kwa chinthu ndi paketi ya XNN
    $ adb chipolopolo "inf_diff_run_eval -model_file=/data/Models/ -delegate=xnnpac

ZAMBIRI ZA MALAMULO

Kufikira kwanu ndikugwiritsa ntchito chikalatachi, limodzi ndi zofotokozera zilizonse, bolodi lolozera files, zojambula, zowunikira ndi zina zomwe zili pano (pamodzi izi "Documentation"), zimadalira zanu (kuphatikiza bungwe kapena bungwe lina lazamalamulo lomwe mukuyimira, pamodzi "Inu" kapena "Anu") kuvomereza mfundo ndi zikhalidwe ("Mgwirizano pazakagwiritsidwe") fotokozani pansipa. Ngati simukugwirizana ndi Migwirizano iyi, simungagwiritse ntchito Zolemba izi ndipo mudzawononga nthawi yomweyo zolemba zake.

  1. Chidziwitso chazamalamulo.
    Zolembedwazi zikuperekedwa kwa Inu kuti muzigwiritsa ntchito mkati mwanu ndi zinthuzo ndi zopereka za Qualcomm Technologies, Inc. (“Qualcomm Technologies”) ndi othandizana nawo omwe afotokozedwa mu Zolembedwazi, ndipo sizigwiritsidwa ntchito pazifukwa zina zilizonse. Zolembedwazi sizingasinthidwe, kusinthidwa, kapena kusinthidwa mwanjira ina iliyonse popanda Qualcomm Technologies kuvomereza kolembedwa. Kugwiritsa ntchito mosaloledwa kapena kuwulula izi
    Zolemba kapena zomwe zili pano ndizoletsedwa, ndipo Mukuvomera kubwezera Qualcomm Technologies, ogwirizana nawo ndi omwe amapereka ziphaso pakuwonongeka kapena kutayika kulikonse komwe Qualcomm Technologies, ogwirizana nawo ndi omwe amapereka licensors pakugwiritsa ntchito kosaloledwa kapena kuwululidwa, mu Chikalatachi. gawo. Qualcomm Technologies, othandizana nawo ndi omwe amapereka ziphaso amasunga maufulu onse ndi umwini ndi Zolemba izi. Palibe chilolezo ku chizindikiro chilichonse, patent, kukopera, ufulu wachitetezo cha chigoba kapena ufulu wina uliwonse waukadaulo womwe umaperekedwa kapena kufotokozedwa ndi Zolemba izi kapena chilichonse chomwe chawululidwa, kuphatikiza, koma osalekeza, chilolezo chopanga, kugwiritsa ntchito, kulowetsa kapena kuitanitsa. gulitsani chilichonse, ntchito kapena ukadaulo womwe umapereka chidziwitso chilichonse chomwe chili mu Zolemba izi.
    ZINTHU ZIMENEZI ZIKUPEREKEDWA “MOMWE ZINALI” POPANDA CHITANIZIRO CHA MTIMA ULIWONSE, KAYA ZOONEKERA, ZOTANTHAUZIRA, ZABWINO KAPENA ZINTHU ZINA. KUCHULUKA KWAKUCHULUKA KWA MWA MALAMULO, QUALCOMM TECHNOLOGIES, OGWIRITSIRA AKE NDI OPEREKA ZIPHUNZIRO AMAZITENGA MWANDE ZINTHU ZONSE ZA MTIMA, NTCHITO, KUSAKULA, KUKHALA KWA NTCHITO, KAPENA NTCHITO, KAPENA NTCHITO. ZONSE ZONSE ZOCHOKERA POGWIRITSA NTCHITO NTCHITO KAPENA KUCHOKERA KUKHALIDWE KAPENA KAPENA NTCHITO. POPOSAPO, KAPENA QUALCOMM TECHNOLOGIES, KAPENA ALIYENSE WA OTHANDIZA KAPENA ALICENSAN, ADZAKHALA NDI NTCHITO KWA INU KAPENA CHINTHU CHONSE CHACHITATU PAZINLI ZONSE, KUTAYIKA, KUGWIRITSA NTCHITO, KAPENA ZOCHITA ZOMWE ZINACHITIKA KAPENA POKUBWERERA IZI.
    Zida zina, zida ndi zida zomwe zatchulidwa mu Zolembedwazi zingafunike kuti muvomereze mfundo ndi zikhalidwe zina musanapeze kapena kugwiritsa ntchito zinthuzo.
    Zambiri zaukadaulo zomwe zafotokozedwa m'chikalatachi zitha kutsatiridwa ndi US ndi malamulo ena owongolera kutumiza kunja. Kutumiza motsutsana ndi US ndi malamulo ena aliwonse ogwiritsiridwa ntchito ndikoletsedwa.
    Palibe chilichonse mu Zolembedwazi chomwe mungagulitse chilichonse mwazinthu kapena zida zomwe zatchulidwa pano.
    Zolemba izi zitha kusintha popanda chidziwitso china. Pakachitika mkangano pakati pa Migwirizano Yogwiritsira Ntchito ndi Website Terms of Use on www.qualcomm.com kapena Mfundo Zazinsinsi za Qualcomm zomwe zatchulidwa www.qualcomm.com, Terms of Use awa adzalamulira. Pakachitika mkangano pakati pa Migwirizano Yogwiritsira Ntchito ndi mgwirizano wina uliwonse (wolemba kapena kudina-kupyolera) wochitidwa ndi Inu ndi Qualcomm Technologies kapena Qualcomm Technologies ogwirizana nawo pokhudzana ndi mwayi wanu wogwiritsa ntchito Zolemba izi, mgwirizano winawo udzawongolera. .
    Migwirizano Yogwiritsiridwa Ntchitoyi idzayendetsedwa ndi kuganiziridwa ndi kutsatiridwa motsatira malamulo a State of California, kupatula Mgwirizano wa UN pa International Sale of Goods, mosatengera kusagwirizana kwa malamulo. Mkangano uliwonse, zonena kapena mkangano womwe umachokera kapena wokhudzana ndi Migwirizano Yogwiritsiridwa Ntchitoyi, kapena kuphwanya kapena kuvomerezeka kwazomwezi, zidzaweruzidwa ndi khothi lokhala ndi mphamvu m'chigawo cha San Diego, State of California, ndipo Mukuvomera ulamuliro waumwini wa makhoti otero kaamba ka zimenezo.
  2. Zidziwitso Zazidziwitso Zazidziwitso Zazidziwitso Zamalonda ndi Zamalonda.
    Qualcomm ndi chizindikiro kapena chizindikiro cholembetsedwa cha Qualcomm Incorporated. Arm ndi chizindikiro cholembetsedwa cha Arm Limited (kapena mabungwe ake) ku US ndi/kapena kwina. Mawu akuti Bluetooth® ndi chizindikiro cholembetsedwa ndi Bluetooth SIG, Inc. Mayina ena azinthu ndi mtundu omwe akutchulidwa mu Zolemba izi akhoza kukhala zizindikilo kapena zizindikilo zolembetsedwa za eni ake.
    Zogulitsa za Snapdragon ndi Qualcomm zomwe zatchulidwa mu Zolemba izi ndi zopangidwa ndi Qualcomm Technologies, Inc. ndi/kapena mabungwe ake. Matekinoloje ovomerezeka a Qualcomm ali ndi chilolezo ndi Qualcomm Incorporated.

Logo ya Kampani

Zolemba / Zothandizira

Pulogalamu ya Qualcomm TensorFlow Lite SDK [pdf] Buku Logwiritsa Ntchito
TensorFlow Lite SDK Software, Lite SDK Software, SDK Software, Software

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *