Упатство за користење на софтверот Qualcomm TensorFlow Lite SDK
Лого на компанијата

Историја на ревизии

Ревизија Датум Опис
AA септември 2023 година Почетно ослободување
AB октомври 2023 година

Вовед во алатките на Qualcomm TFLite SDK

Алатките за развој на софтвер Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) ја обезбедуваат рамката TensorFlow Lite за наведување на вештачка интелигенција (ВИ) на уред, што им олеснува на развивачите на апликации да развијат или стартуваат соодветни апликации за вештачка интелигенција.
Овој документ дава чекор-по-чекор инструкции за составување на самостоен Qualcomm TFLite SDK и поставување на развојната околина. Ова му овозможува на работниот тек на програмерите, кој вклучува:

  • поставување на околината за градење каде што развивачот може да го состави Qualcomm TFLite SDK
  • развивање на самостојни Qualcomm TFLite SDK апликации

За поддршка, видете https://www.qualcomm.com/поддршка. Следната слика дава резиме на работниот тек на Qualcomm TFLite SDK:
Слика 1-1 Работен тек на Qualcomm TFLite SDK
Алатката бара платформа SDK и конфигурација file (JSON формат) за генерирање на артефакти на Qualcomm TFLite SDK.

За да изградите апликација од крај до крај со помош на потсистеми мултимедија, вештачка интелигенција и компјутерска визија (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 Компјутерска визија
ИПК Нејзиното пакување file
QIM SDK Комплет за развој на мултимедијален софтвер Qualcomm Intelligent
SDK Комплет за развој на софтвер
TFLite TensorFlow Lite
XNN Xth најблискиот сосед

Поставете градежна средина за алатките на Qualcomm TFLite SDK

Алатките на Qualcomm TFLite SDK се објавени во изворна форма; затоа, воспоставувањето на околината за градба за нејзино компајлирање е задолжително, но еднократно поставување.

Предуслови

  • Осигурете се дека имате sudo-пристап до машината-домаќин на Linux.
  • Осигурете се дека верзијата за домаќин на Linux е Ubuntu 18.04 или Ubuntu 20.04.
  • Зголемете ги максималните кориснички часовници и максималните кориснички примероци на системот домаќин.
  • Додајте ги следните командни линии во/etc/sysctl.confand рестартирајте го домаќинот: 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 xsltproc unfigzip
За повеќе информации, видете https://source.android.com/docs/setup/start/initializing.

Поставете docker околина

Докер е платформа која се користи за изградба, развој, тестирање и испорака на софтвер. За да се компајлира SDK, докерот мора да биде конфигуриран на машината-домаќин на Linux.
Осигурете се дека виртуелизацијата на процесорот е овозможена на машината-домаќин на Linux. Ако не е овозможено, направете го следново за да го овозможите од основните поставки за конфигурација на системот за влез/излез (BIOS):

  1. Овозможете виртуелизација од BIOS-от:
    a. Притиснете F1 или F2 кога системот се подига за да влезете во BIOS-от. Се прикажува прозорецот BIOS-от.
    b. Префрлете се на табот Напредно.
    c. Во делот Конфигурација на процесорот, поставете ја технологијата за виртуелизација на Овозможено.
    a. Притиснете F12 за да зачувате и излезете, а потоа рестартирајте го системот.
    Ако овие чекори не функционираат, следете ги конкретните упатства од давателот на системот за да ја овозможите виртуелизацијата
  2. Отстранете ги сите стари примероци на докерот:
    $ sudo apt отстрани docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt purge docker-desktop
  3.  Поставете го далечинското складиште на docker:
    $ sudo apt-get ажурирање $ sudo apt-get инсталирај ca-сертификати вurl 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.  Инсталирајте докер мотор:
    $ sudo apt-get ажурирање $ sudo apt-get install docker-ce docker-ce-cli
  5.  Додајте корисник во групата Docker:
    $ sudo groupadd docker $ sudo usermod -aG docker $USER
  6.  Рестартирајте го системот.

Генерирајте платформа SDK

Платформата SDK е задолжителен услов за компајлирање на алатките на Qualcomm TFLite SDK. Ги обезбедува сите потребни зависности на платформата што ги бара Qualcomm TFLite SDK.
Направете го следново за да ја генерирате платформата SDK:

  1. Направете градба за претпочитаниот софтверски производ.
    Упатствата за изградба на изданието QCS8550.LE.1.0 се дадени во белешките за издавање. За да пристапите до белешките за објавување, видете Референци.
    Ако сликите биле претходно изградени, извршете го чекор 2, а потоа креирајте чиста градба.
  2. Извршете ја следнава команда за да изградите слики од корисничкиот простор и SDK на платформата:
    За QCS8550.LE.1.0, додајте ја карактеристиката на машината qti-tflite-delegate во MACHINE_FEATURES во kalama.conf file и извор на околината за изградба според инструкциите од белешките за издавање.
    Откако ќе генерирате слики од корисничкиот простор од build, извршете ја следнава команда за да ја генерирате платформата SDK.
    $ bitbake -fc populate_sdk qti-robotics-image

Изградете алатки за Qualcomm TFLite SDK - работен тек на програмерите

Работниот тек на алатките на Qualcomm TFLite SDK бара од развивачот да ја обезбеди конфигурацијата file со валидни влезни записи. Скриптите за помошна школка од проектот tflite-tools (присутни во изворното дрво на Qualcomm TFLite SDK) обезбедуваат помошни функции за поставување на околината на школка, што може да се користи за работниот тек на Qualcomm TFLite SDK.
Програмерот ги гради проектите на Qualcomm TFLite SDK во контејнерот и ги генерира артефактите користејќи ги алатките обезбедени од tflite-tools.
Откако ќе се изгради контејнер за Qualcomm TFLite SDK, развивачот може да се прикачи на контејнерот и да ги користи помошните алатки во околината на обвивката на контејнерот за континуиран развој.

  • Постои одредба да се инсталираат артефактите на Qualcomm TFLite SDK на уред на Qualcomm поврзан со домаќинот Linux преку USB/adb.
  • Исто така, постои одредба за копирање на артефактите на Qualcomm TFLite SDK од контејнерот на друга домаќинска машина каде што е поврзан уредот на Qualcomm.
    Поврзување

Следната слика го прикажува множеството алатки достапни по поставувањето на околината за изградба на контејнер користејќи ги помошните скрипти за изградба на Qualcomm TFLite SDK.
Поврзување

Сликата ја покажува низата на извршување на комуналните услуги:
Слика 4-3 Редоследот на комуналните услуги на домаќинот
Поврзување

Синхронизирајте и изградете Qualcomm TFLite SDK
Qualcomm TFLite SDK се компајлира кога ќе се креира сликата на докерот. За да го синхронизирате и изградите Qualcomm TFLite SDK, направете го следново:

  1. Направете директориум на домаќинот file систем за синхронизација на работниот простор на Qualcomm TFLite SDK. За
    exampле: $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 издание && репо синхронизација -qc –no-tags -j
  3. Направете директориум на домаќинот file систем кој може да се монтира во докер. За пр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 $ извор ./scripts/host/docker_env_setup.sh
  6.  Направете ја сликата на докерот на Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Ако поставувањето на изградбата не успее, видете Решавање проблеми со поставувањето на докерот. По успешното завршување, се прикажува следнава порака: „Статус: Изградбата на сликата е успешно завршена!!“ Со извршување на овој чекор се гради и Qualcomm TFLite SDK.
  7.  Вклучете го контејнерот за докер на Qualcomm TFLite SDK. Ова го започнува контејнерот со tags обезбедени во конфигурацијата JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Прикачете го на контејнерот започнат од претходниот чекор.
    $ докер прикачете

Qualcomm TFLite SDK е компајлиран, а артефактите се подготвени за распоредување или понатаму
се користи за генерирање на приклучокот QIM SDK TFLite.

Поврзете го уредот со домаќин и распоредете артефакти]

По компилацијата, постојат два механизми за поврзување на уредот со домаќин и распоредување на
Артефакти на Qualcomm TFLite SDK.

  • Уред поврзан со локален домаќин на Linux:
    Програмер го поврзува уредот со работна станица и ги инсталира артефактите на Qualcomm TFLite SDK од контејнерот директно на уредот (QCS8550).
  • Уред поврзан со оддалечен домаќин:
    Развивач го поврзува уредот со оддалечена работна станица и може да ги користи командите за инсталирање на менаџерот на пакети на платформите Windows и Linux за да ги инсталираат артефактите на Qualcomm TFLite SDK на уредот (QCS8550)

Слика 4-4 Поврзување на плочата на уредот со програмер и далечинска работна станица
Поврзување

Поврзете го уредот со работната станица

Уредот е поврзан со работната станица и контејнерот за развој може да пристапи до уредот преку USB/adb.
На сликата е прикажана сtagе во низата од работниот тек на Qualcomm TFLite SDK:
Поврзување

  1. Извршете ги следните команди за да ги инсталирате артефактите на уредот:
    $ tflite-tools-device-prepare
    $ tflite-tools-device-deploy
  2. За да ги деинсталирате артефактите, извршете ја следнава команда:
    $ tflite-tools-device-packages-remove

Поврзете го уредот со далечинската машина

Уредот е поврзан со далечинска машина и контејнерот Qualcomm TFLite SDK не може да пристапи до уредот преку USB/реклама b.
На сликата е прикажана сtagе во низата од работниот тек на Qualcomm TFLite SDK:
Поврзување

Извршете ги следните команди во контејнерот tflite-tools за да ги копирате артефактите на оддалечена машина
во зависност од менаџерот на пакети на уредот:
$ tflite-tools-remote-sync-ipk-rel-pkg
ЗАБЕЛЕШКА Информациите за далечинската машина се дадени во конфигурацијата JSON file.
Инсталирајте артефакти за платформата Windows
Артефактите на Qualcomm TFLite SDK може да се инсталираат на уредот врз основа на оперативниот систем на оддалечената машина.

За платформата Виндоус, направете го следново:
На 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 –force-overwrite install /tmp/“

Инсталирајте артефакти за платформата Линукс
Користете ги следните команди:
$ adb root $ adb disable-verity $ adb рестартирање $ adb чекање-за-уред $ 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/“

Исчистете ја сликата на докерот
По завршувањето на работниот тек на програмерите, докерската околина треба да се исчисти за да се ослободи складиштето на дискот. Чистењето на докерот ги отстранува неискористените контејнери и слики, со што се ослободува просторот на дискот.
Користете ги следните команди за да ја исчистите сликата на докерот:

  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. Отстранете ги постарите докер слики:
    $ tflite-tools-host-images-cleanup

Решавање проблеми со поставувањето на докерот

Ако командата tflite-tools-host-build-image врати Nospace оставена порака на уредот, тогаш преместете го директориумот на docker во/local/mnt. Направете го следново за да ги решите проблемите со поставувањето:

  1. Направете резервна копија на постоечкиот докер files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(датум + %s).tar.gz
  2. Запрете го докерот:
    $ услуга докер стоп
  3. Потврдете дека ниеден процес на докер не работи:
    $ ps faux | grep docker
  4. Проверете ја структурата на директориумот за докер:
    $ sudo ls /var/lib/docker/
  5. Преместете го директориумот докер во нова партиција:
    $ mv /var/lib/docker /local/mnt/docker
  6. Направете символна врска до директориумот докер во новата партиција:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Осигурете се дека структурата на директориумот за докер останува непроменета:
    $ sudo ls /var/lib/docker/
  8. Започнете го докерот:
    $ стартување на услугата докер
  9. Рестартирајте ги сите контејнери откако ќе го преместите директориумот за докер.

Генерирајте TFLite SDK со работна станица на Linux

Работниот тек на TFLite SDK може да се овозможи без контејнери со помош на работната станица на Linux. Оваа постапка е алтернатива за користење на контејнери.
За да го синхронизирате и изградите Qualcomm TFLite SDK, направете го следново:

  1. Направете директориум на домаќинот file систем за синхронизација на работниот простор на Qualcomm TFLite SDK. За прampле:
    $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 издание && репо синхронизација -qc –no-tags -j8 && репо синхронизација -qc –не-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": "", "Base_Dir_Location": ""
    За повеќе информации за записите споменати во json конфигурацијата file, видете го Docker.md readme file на /tflite-tools/.
    ЗАБЕЛЕШКА За QCS8550, хексагоналниот DSP делегат не е поддржан
  4. Извор на скриптата за поставување на околината:
    $ cd /tflite-tools
    $ извор ./scripts/host/host_env_setup.sh
  5. Изградете го Qualcomm TFLite SDK.
    $ tflite-tools-setup targets/le-tflite-tools-builder.json
  6.  Извршете ги следните команди за помошни програми во истата школка на 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/
      За платформата Линукс, користете ја следнава скрипта:
      $ adb root $ adb disable-verity $ adb рестартирање $ adb чекање-за-уред $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell „mkdir -p /tmp“ $ adb push /tmp Ако пакувањето е ipk (за QCS8550.LE.1.0):
      $ adb школка „opkg –force-depends –force-reinstall –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
    Катран file се генерира. Содржи Qualcomm TFLite SDK на патеката дадена на „TFLite_rsync_destination“
  2. За да го овозможите приклучокот Qualcomm TFLite SDK GStreamer, користете го катранот file како аргумент во JSON конфигурацијата file за изградбата на QIM SDK.
    За информации за составувањето на QIM SDK, видете го Водичот за брз почеток на Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51).

Изградете го Qualcomm TFLite SDK постепено

Ако за прв пат ја градите Qualcomm TFLite SDK, видете Изградба на Qualcomm TFLite SDK алатки – работен тек на програмери. Истата градежна средина може повторно да се користи за постепен развој.
Помошните услуги (во контејнерот) споменати на сликата им се достапни на програмерите за да компајлираат изменети апликации и приклучоци.
Слика 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 делегат

Надворешниот делегат на TFLite ви овозможува да ги извршувате вашите модели (дел или цели) на друг извршител користејќи библиотеки обезбедени од доверлива трета страна како QNN од Qualcomm. Овој механизам може да користи различни акцелератори на уредот, како што е графичкиот процесор или хексаголен тензорски процесор (HTP) за заклучоци. Ова им обезбедува на програмерите флексибилен и одвоен метод од стандардниот TFLite за забрзување на заклучувањето.

Предуслови:

  • Осигурете се дека користите работна станица на Ubuntu за да извлечете стек QNN AI.
  • Осигурете се дека користите QNN верзија 2.14 за да биде во врска со Qualcomm TFLite SDK

Qualcomm TFLite SDK е овозможено да изведува заклучоци на неколку QNN задни делови преку TFLite надворешен делегат за QNN. Моделите TFLite со заедничка претстава со рамно бафер може да се извршуваат на GPU и HTP.
Откако ќе се инсталираат пакетите Qualcomm TFLite SDK на уредот, направете го следново за да ги инсталирате библиотеките QNN на уредот.

  1. Преземете го Qualcomm Package Manager 3 за Ubuntu.
    a. Кликнетеhttps://qpm.qualcomm.com/ и кликнете Алатки.
    b. Во левиот панел, во полето Алатки за пребарување, напишете QPM. Од списокот Системски ОС, изберете Linux.
    Резултатите од пребарувањето прикажуваат листа на менаџери на пакети на Qualcomm.
    c. Изберете Qualcomm Package Manager 3 и преземете го дебиан пакетот Linux.
  2. Инсталирајте Qualcomm Package Manager 3 за Linux. Користете ја следнава команда:
    $ dpkg -i –присилно презапишување /пат/до/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Преземете го Qualcomm®
    AI Engine Direct SDK на работната станица на Ubuntu.
    a. Кликнете https://qpm.qualcomm.com/ и кликнете Алатки.
    b. Во левиот панел, во полето Алатки за пребарување, напишете стек AI. Од списокот Системски ОС, изберете Linux.
    A Се прикажува паѓачката листа која содржи различни мотори на стек со вештачка интелигенција.
    c. Кликнете на Qualcomm® AI Engine Direct SDK и преземете го пакетот Linux v2.14.0.
  4. Инсталирајте Qualcomm® AI Engine Direct SDK на работната станица на Ubuntu.
    а. Активирајте ја лиценцата:
    qpm-cli –лиценца-активирај 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/un libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned. па /usr/lib/rfsa/adsp

Тестирајте го Qualcomm TFLite SDK

Qualcomm TFLite SDK обезбедува одредени прampле апликации, кои може да се користат за валидација, бенчмаркирање и добивање на точноста на моделите што развивачот сака да ги процени.
Откако ќе се инсталираат пакетите Qualcomm TFLite SDK на уредот, времето на работа е достапно на уредот за да се извршуваат овие ексampле апликации.
Предуслов
Направете ги следниве директориуми на уредот:
$ adb школка „mkdir /data/Models“
$ adb школка „mkdir /data/Lables“
$ adb школка „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 /податоци $ 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/
    Откако ќе се поврзете со докерот на Qualcomm TFLite SDK, сликата може да се најде на:
    „/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/ testdata/grace_hopper.bmp“
    a. Притисни го ова file до/податоци/етикети/
    b. Извршете ја командата:
    $ adb школка „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 обезбедува алатка за бенчмаркирање за пресметување на перформансите на различни времиња на извршување.
Овие алатки за репер моментално мерат и пресметуваат статистика за следните важни показатели за изведба:

  • Време на иницијализација
  • Време на заклучување на состојбата на загревање
  • Време на заклучување на стабилна состојба
  • Употреба на меморија за време на иницијализацијата
  • Целокупната употреба на меморија

Предуслови

Притиснете ги моделите што треба да се тестираат од TFLite Model Zoo (https://tfhub.dev/) до/податоци/Модели/. Стартувај го следните скрипти:  

  • 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=/податоци/профилирање/“
  • Делегат на графичкиот процесор
    $ 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=/податоци/профилирање/“
  • Надворешен делегат
    GPU на надворешен делегат на QNN:
    Изврши заклучок со модел со подвижна запирка:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnskelibsary_rpuli. /adsp'“
    QNN надворешен делегат HTP:
    Изведете заклучок со квантен модел:
    $ adb shell-command „benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnskeelsary_sarpli. /adsp'“

Алатка за точност

Qualcomm TFLite SDK обезбедува алатка за точност за пресметување на точноста на моделите со различни времиња на работа.

  • Класификација со делегат на графичкиот процесор
    Чекорите за преземање на потребните files за тестирање може да се најде на: „/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md“
    Бинаријата за водење на оваа алатка е веќе дел од SDK, така што развивачот не треба повторно да ја гради.
    $ adb shell „image_classify_run_eval — model_file=/податоци/Модели/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu”
  • Откривање на објекти со XNN пакет
    $ adb школка „inf_diff_run_eval –model_file=/податоци/Модели/ –делегат=xnnpac

ПРАВНИ ИНФОРМАЦИИ

Вашиот пристап и користење на овој документ, заедно со сите спецификации, референтна табла files, цртежи, дијагностика и други информации содржани овде (заедно ова "Документација"), е предмет на вашиот (вклучувајќи ја корпорацијата или друго правно лице што го претставувате, колективно „Ти“ или „Твоја“) прифаќање на одредбите и условите („Услови за користење“) наведено подолу. Доколку не се согласувате со овие Услови за користење, не смеете да ја користите оваа Документација и веднаш ќе ја уништите секоја нејзина копија.

  1. Правно известување.
    Оваа документација ви е достапна само за ваша внатрешна употреба со оние производи и понуди на услуги на Qualcomm Technologies, Inc. („Qualcomm Technologies“) и нејзините филијали опишани во оваа документација и нема да се користи за други цели. Оваа документација не смее да се менува, уредува или менува на кој било начин без претходно писмено одобрение од Qualcomm Technologies. Неовластено користење или откривање на ова
    Документацијата или информациите содржани овде се строго забранети, а вие се согласувате да ги обесштетите Qualcomm Technologies, нејзините филијали и даватели на лиценца за какви било штети или загуби претрпени од Qualcomm Technologies, неговите филијали и даватели на лиценца за каква било таква неовластена употреба или откривање на целата или оваа документација. дел. Qualcomm Technologies, неговите филијали и даватели на лиценца ги задржуваат сите права и сопственост во и кон оваа Документација. Ниту една лиценца за која било трговска марка, патент, авторско право, право на заштита на работа со маски или кое било друго право на интелектуална сопственост не е дадена или имплицирана со оваа Документација или какви било информации откриени овде, вклучувајќи, но не ограничувајќи се на, каква било дозвола за правење, употреба, увоз или продавајте кој било производ, услуга или технологија што нуди отелотворување на која било од информациите во оваа Документација.
    ОВАА ДОКУМЕНТАЦИЈА СЕ ОБЕЗБЕДУВА „КАКО ШТО Е“ БЕЗ НИКОЈ ВИД ГАРАНЦИЈА, БИЛО ИЗРАЗЕНА, ИМПЛИЦИРАНА, СТАТУТАРНА ИЛИ ПОинаку. ВО МАКСИМАЛНИОТ СТЕМЕН ДОЗВОЛЕН СО ЗАКОН, ТЕХНОЛОГИИТЕ НА QUALCOMM, НЕГОВИОТ ПРИРАЧНИК И ЛИЦЕНЦАРИТЕ ПОСЕБНО СЕ ОДГОВОРУВААТ СИТЕ ГАРАНЦИИ ЗА НАСТАВАТА, ТРОГОВСКАТА, НЕПРЕКРШЕНАТА СОСТОЈБА, ПОВРЕДАТА , КОМПЛЕТНОСТ ИЛИ ТОЧНОСТ И СИТЕ ГАРАНЦИИ КОИ ПРОИЗЛЕГУВААТ ОД ТРГОВСКАТА УПОТРЕБА ИЛИ ИЗ РАЗГОВОР ИЛИ КУРС НА ИЗВЕДБА. Згора на тоа, НИТУ ТЕХНОЛОГИИТЕ НА QUALCOMM, НИТУ НИКОЈ ОД НЕГОВИТЕ ПОДРУЖНИЦИ ИЛИ ЛИЦЕНЦАРИТЕ НЕМА ДА СЕ ОДГОВАРА ВАС ИЛИ КОЈА ТРЕТА ЛИЦА ЗА НИКАКВИ ТРОШОЦИ, ЗАГУБИ, КОРИСТЕЊЕ ИЛИ ПОВЕЌЕ РАЗГОВОРЕНИ ДЕЈСТВА ОВАА ДОКУМЕНТАЦИЈА.
    Одредени комплети за производи, алатки и материјали наведени во оваа Документација може да бараат од Вас да прифатите дополнителни одредби и услови пред да пристапите или да ги користите тие ставки.
    Техничките податоци наведени во оваа Документација може да подлежат на американските и другите важечки закони за контрола на извозот. Преносот спротивно на американскиот и кој било друг применлив закон е строго забранет.
    Ништо во оваа Документација не е понуда за продажба на која било од компонентите или уредите наведени овде.
    Оваа Документација е предмет на промена без дополнително известување. Во случај на конфликт помеѓу овие Услови за користење и Webсајт Услови за користење на www.qualcomm.com или Политиката за приватност на Qualcomm наведена на www.qualcomm.com, овие Услови за користење ќе ги контролираат. Во случај на конфликт помеѓу овие Услови за користење и кој било друг договор (напишан или кликн-преку) извршен од Вас и Qualcomm Technologies или подружница на Qualcomm Technologies во однос на вашиот пристап до и користењето на оваа документација, другиот договор ќе го контролира .
    Овие Услови за користење ќе бидат регулирани и интерпретирани и спроведувани во согласност со законите на државата Калифорнија, со исклучок на Конвенцијата на ОН за меѓународна продажба на стоки, без да се земат предвид принципите за судир на закони. Секој спор, тврдење или контроверзија што произлегува од или се однесува на овие Услови за користење, или прекршување или валидност на овие, ќе биде решено само од надлежен суд во округот Сан Диего, државата Калифорнија, а вие со ова давате согласност за личната јурисдикција на таквите судови за таа цел.
  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 софтвер, софтвер

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *