Hướng dẫn sử dụng phần mềm SDK Qualcomm TensorFlow Lite
Logo công ty

Lịch sử sửa đổi

Ôn tập Ngày Sự miêu tả
AA Tháng 2023 năm XNUMX Bản phát hành đầu tiên
AB Tháng 2023 năm XNUMX

Giới thiệu về công cụ SDK Qualcomm TFLite

Các công cụ của bộ phát triển phần mềm Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) cung cấp khung TensorFlow Lite cho suy luận trí tuệ nhân tạo (AI) trên thiết bị, tạo điều kiện cho các nhà phát triển ứng dụng phát triển hoặc chạy các ứng dụng AI phù hợp.
Tài liệu này cung cấp hướng dẫn từng bước để biên dịch SDK Qualcomm TFLite độc ​​lập và thiết lập môi trường phát triển. Điều này cho phép quy trình làm việc của nhà phát triển, bao gồm:

  • thiết lập môi trường xây dựng nơi nhà phát triển có thể biên dịch SDK Qualcomm TFLite
  • phát triển các ứng dụng SDK Qualcomm TFLite độc ​​lập

Để được hỗ trợ, hãy xemhttps://www.qualcomm.com/ủng hộ. Hình dưới đây cung cấp thông tin tóm tắt về quy trình làm việc của Qualcomm TFLite SDK: ”
Hình 1-1 Quy trình làm việc của Qualcomm TFLite SDK
Công cụ này yêu cầu SDK nền tảng và cấu hình file (định dạng JSON) để tạo các tạo phẩm SDK Qualcomm TFLite.

Để xây dựng một ứng dụng toàn diện sử dụng các hệ thống con đa phương tiện, AI và thị giác máy tính (CV), hãy xem Hướng dẫn bắt đầu nhanh SDK đa phương tiện thông minh Qualcomm (QIM SDK) (80-50450-51).
Bảng hiển thị ánh xạ phiên bản SDK Qualcomm TFLite với bản phát hành CodeLinaro tag:
Bảng 1-1 Thông tin phát hành
Sự liên quan

Phiên bản SDK Qualcomm TFLite Phát hành CodeLinaro tag
V1.0 Qualcomm TFLITE.SDK.1.0.r1-00200-TFLITE.0

Bảng 1-2 Các phiên bản SDK Qualcomm TFLite được hỗ trợ

Qualcomm Phiên bản SDK TFLite Sản phẩm phần mềm được hỗ trợ Phiên bản TFLite được hỗ trợ
V1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

Tài liệu tham khảo
Bảng 1-3 Tài liệu liên quan

Tiêu đề Con số
Qualcomm
Ghi chú Phát hành 00067.1 cho QCS8550.LE.1.0 RNO-230830225415
Hướng dẫn bắt đầu nhanh SDK đa phương tiện thông minh Qualcomm (QIM SDK) 80-50450-51
Tài liệu tham khảo SDK đa phương tiện thông minh của Qualcomm (QIM SDK) 80-50450-50
Tài nguyên
https://source.android.com/docs/setup/start/initializing

Bảng 1-4 Từ viết tắt và định nghĩa

Từ viết tắt hoặc thuật ngữ Sự định nghĩa
AI Trí tuệ nhân tạo
BIOS Hệ thống đầu vào/đầu ra cơ bản
CV Tầm nhìn máy tính
IPK Gói của nó file
SDK QIM Bộ công cụ phát triển phần mềm đa phương tiện thông minh Qualcomm
Bộ công cụ phát triển phần mềm Bộ phát triển phần mềm
TFLite TensorFlow Lite
XNN Xth người hàng xóm gần nhất

Thiết lập môi trường xây dựng cho các công cụ SDK Qualcomm TFLite

Các công cụ SDK Qualcomm TFLite được phát hành ở dạng nguồn; do đó, việc thiết lập môi trường xây dựng để biên dịch nó là việc thiết lập bắt buộc nhưng chỉ thực hiện một lần.

Điều kiện tiên quyết

  • Đảm bảo rằng bạn có quyền truy cập sudo vào máy chủ Linux.
  • Đảm bảo rằng phiên bản máy chủ Linux là Ubuntu 18.04 hoặc Ubuntu 20.04.
  • Tăng số lần theo dõi người dùng tối đa và số phiên bản người dùng tối đa trên hệ thống máy chủ.
  • Thêm các dòng lệnh sau vào/etc/sysctl.conf và khởi động lại máy chủ: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

Cài đặt các gói máy chủ cần thiết

Các gói máy chủ được cài đặt trên máy chủ Linux.
Chạy các lệnh để cài đặt gói máy chủ: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-Perl openjdk-8-jdkheadless
Đối với Ubuntu 18.04 trở lên:
$ sudo apt-get cài đặt 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 giải nén fontconfig
Để biết thêm thông tin, xem https://source.android.com/docs/setup/start/khởi tạo.

Thiết lập môi trường docker

Docker là một nền tảng được sử dụng để xây dựng, phát triển, thử nghiệm và phân phối phần mềm. Để biên dịch SDK, docker phải được cấu hình trên máy chủ Linux.
Đảm bảo rằng ảo hóa CPU được bật trên máy chủ Linux. Nếu tính năng này chưa được bật, hãy thực hiện như sau để bật tính năng này từ cài đặt cấu hình hệ thống đầu vào/đầu ra (BIOS) cơ bản:

  1. Kích hoạt ảo hóa từ BIOS:
    a. Nhấn F1 hoặc F2 khi hệ thống khởi động để vào BIOS. Cửa sổ BIOS được hiển thị.
    b. Chuyển sang tab Nâng cao.
    c. Trong phần Cấu hình CPU, đặt Công nghệ ảo hóa thành Đã bật.
    a. Nhấn F12 để lưu và thoát, sau đó khởi động lại hệ thống.
    Nếu các bước này không hiệu quả, hãy làm theo hướng dẫn cụ thể từ nhà cung cấp hệ thống để kích hoạt ảo hóa
  2. Xóa mọi phiên bản cũ của docker:
    $ sudo apt loại bỏ docker-desktop
    $ rm -r $HOME/.docker/desktop
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt thanh lọc docker-desktop
  3.  Thiết lập kho lưu trữ từ xa docker:
    $ sudo apt-get cập nhật $ sudo apt-get cài đặt ca-chứng chỉ 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) signature-by=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) ổn định” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  Cài đặt công cụ docker:
    $ sudo apt-get cập nhật $ sudo apt-get cài đặt docker-ce docker-ce-cli
  5.  Thêm người dùng vào nhóm docker:
    $ sudo nhómadd docker $ sudo usermod -aG docker $USER
  6.  Khởi động lại hệ thống.

Tạo SDK nền tảng

SDK nền tảng là yêu cầu bắt buộc để biên dịch các công cụ SDK Qualcomm TFLite. Nó cung cấp tất cả các phụ thuộc nền tảng cần thiết theo yêu cầu của SDK Qualcomm TFLite.
Thực hiện như sau để tạo SDK nền tảng:

  1. Tạo bản dựng cho sản phẩm phần mềm ưa thích.
    Hướng dẫn xây dựng bản phát hành QCS8550.LE.1.0 được cung cấp trong ghi chú phát hành. Để truy cập ghi chú phát hành, hãy xem Tài liệu tham khảo.
    Nếu hình ảnh đã được tạo trước đó, hãy thực hiện bước 2 rồi tạo bản dựng rõ ràng.
  2. Chạy lệnh sau để xây dựng hình ảnh không gian người dùng và SDK nền tảng:
    Đối với QCS8550.LE.1.0, hãy thêm tính năng máy qti-tflite-delegate vào MACHINE_FEATURES trong kalama.conf file và tìm nguồn môi trường xây dựng theo hướng dẫn từ ghi chú phát hành.
    Sau khi tạo hình ảnh không gian người dùng từ bản dựng, hãy chạy lệnh sau để tạo SDK nền tảng.
    $ bitbake -fc populate_sdk qti-robotics-image

Xây dựng các công cụ SDK Qualcomm TFLite – quy trình làm việc của nhà phát triển

Quy trình làm việc của công cụ SDK Qualcomm TFLite yêu cầu nhà phát triển cung cấp cấu hình file với các mục đầu vào hợp lệ. Các tập lệnh shell trợ giúp từ dự án tflite-tools (có trong cây nguồn Qualcomm TFLite SDK) cung cấp các chức năng tiện ích trợ giúp để thiết lập môi trường shell, có thể được sử dụng cho quy trình làm việc Qualcomm TFLite SDK.
Nhà phát triển xây dựng các dự án SDK Qualcomm TFLite trong vùng chứa và tạo các tạo phẩm bằng cách sử dụng các tiện ích do tflite-tools cung cấp.
Sau khi bộ chứa SDK Qualcomm TFLite được xây dựng, nhà phát triển có thể gắn vào bộ chứa và sử dụng các tiện ích trợ giúp trong môi trường vỏ bộ chứa để phát triển liên tục.

  • Có một điều khoản để cài đặt các tạo phẩm SDK Qualcomm TFLite vào thiết bị Qualcomm được kết nối với máy chủ Linux qua USB/adb.
  • Ngoài ra còn có một điều khoản để sao chép các tạo phẩm SDK Qualcomm TFLite từ vùng chứa sang một máy chủ khác nơi thiết bị Qualcomm được kết nối.
    Sự liên quan

Hình dưới đây liệt kê bộ tiện ích có sẵn sau khi thiết lập môi trường xây dựng vùng chứa bằng cách sử dụng tập lệnh trợ giúp để xây dựng SDK Qualcomm TFLite.
Sự liên quan

Hình minh họa trình tự thực hiện các tiện ích:
Hình 4-3 Trình tự các tiện ích trên máy chủ
Sự liên quan

Đồng bộ hóa và xây dựng SDK Qualcomm TFLite
SDK Qualcomm TFLite được biên dịch khi hình ảnh docker được tạo. Để đồng bộ hóa và xây dựng SDK Qualcomm TFLite, hãy làm như sau:

  1. Tạo thư mục trên máy chủ file hệ thống để đồng bộ hóa không gian làm việc Qualcomm TFLite SDK. Vì
    examplê: $mkdir $cd
  2. Lấy mã nguồn Qualcomm TFLite SDK từ 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 phát hành && đồng bộ hóa repo -qc –no-tags -j
  3. Tạo thư mục trên máy chủ file hệ thống có thể được gắn vào docker. Dành cho người yêu cũample: mkdir-p / Thư mục này có thể được tạo ở bất kỳ đâu trên máy chủ Linux và nó không phụ thuộc vào nơi dự án Qualcomm TFLite SDK được đồng bộ hóa. Sau khi hoàn thành quy trình làm việc trong vùng chứa, bạn có thể tìm thấy các tạo phẩm SDK Qualcomm TFLite tại thư mục được tạo ở bước này.
  4. Chỉnh sửa cấu hình JSON file hiện diện trong /tflite-tools/target/le-tflite-tools-builder.json với các mục sau:
    “Hình ảnh”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Đại biểu”: { “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”: “” }
    Để biết thêm thông tin về các mục được đề cập trong cấu hình json file, hãy xem Docker.md readme file tại /tflite-tools/.
    GHI CHÚ Đối với QCS8550, đại biểu Qualcomm® Hexagon™ DSP không được hỗ trợ.
  5. Nguồn tập lệnh để thiết lập môi trường:
    $ cd /tflite-tools $ source ./scripts/host/docker_env_setup.sh
  6.  Xây dựng hình ảnh docker SDK Qualcomm TFLite: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json Nếu quá trình thiết lập bản dựng không thành công, hãy xem Khắc phục sự cố thiết lập docker. Sau khi hoàn thành thành công, thông báo sau sẽ được hiển thị: “Trạng thái:Xây dựng hình ảnh đã hoàn tất thành công!!” Chạy bước này cũng sẽ xây dựng SDK Qualcomm TFLite.
  7.  Chạy bộ chứa docker Qualcomm TFLite SDK. Điều này khởi động container với tags được cung cấp trong cấu hình JSON file. $tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. Gắn vào thùng chứa đã bắt đầu từ bước trước.
    $ docker đính kèm

SDK Qualcomm TFLite được biên dịch và các tạo phẩm đã sẵn sàng để triển khai hoặc có thể xa hơn nữa.
được sử dụng để tạo trình cắm QIM SDK TFLite.

Kết nối thiết bị với máy chủ và triển khai các tạo phẩm]

Sau khi biên dịch, có hai cơ chế để kết nối thiết bị với máy chủ và triển khai
Các tạo phẩm SDK Qualcomm TFLite.

  • Thiết bị được kết nối với máy chủ Linux cục bộ:
    Nhà phát triển kết nối thiết bị với máy trạm và cài đặt các tạo phẩm SDK Qualcomm TFLite từ vùng chứa trực tiếp trên thiết bị (QCS8550).
  • Thiết bị được kết nối với máy chủ từ xa:
    Nhà phát triển kết nối thiết bị với máy trạm từ xa và họ có thể sử dụng các lệnh của trình cài đặt trình quản lý gói trên nền tảng Windows và Linux để cài đặt cấu phần phần mềm Qualcomm TFLite SDK vào thiết bị (QCS8550)

Hình 4-4 Kết nối bo mạch thiết bị với nhà phát triển và máy trạm từ xa
Sự liên quan

Kết nối thiết bị với máy trạm

Thiết bị được kết nối với máy trạm và vùng chứa phát triển có thể truy cập thiết bị qua USB/adb.
Hình vẽ cho thấy stages theo trình tự quy trình làm việc của Qualcomm TFLite SDK:
Sự liên quan

  1. Chạy các lệnh sau để cài đặt các tạo phẩm vào thiết bị:
    $ tflite-tools-thiết bị-chuẩn bị
    $ tflite-tools-thiết bị-triển khai
  2. Để gỡ cài đặt các tạo phẩm, hãy chạy lệnh sau:
    $ tflite-tools-thiết bị-gói-xóa

Kết nối thiết bị với máy từ xa

Thiết bị được kết nối với một máy từ xa và bộ chứa SDK Qualcomm TFLite không thể truy cập thiết bị qua USB/quảng cáo b.
Hình vẽ cho thấy stages theo trình tự quy trình làm việc của Qualcomm TFLite SDK:
Sự liên quan

Chạy các lệnh sau trong vùng chứa tflite-tools để sao chép các tạo phẩm sang máy từ xa
tùy thuộc vào trình quản lý gói trên thiết bị:
$ tflite-tools-remote-sync-ipk-rel-pkg
GHI CHÚ Thông tin máy từ xa được cung cấp trong cấu hình JSON file.
Cài đặt các tạo phẩm cho nền tảng Windows
Các tạo phẩm SDK Qualcomm TFLite có thể được cài đặt trên thiết bị dựa trên hệ điều hành của máy từ xa.

Đối với nền tảng Windows, hãy làm như sau:
Trên PowerShell, hãy sử dụng tập lệnh sau: PS C:
> adb root PS C:> adbdisable-verity PS C:> adb restart 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 Nếu gói là ipk (đối với QCS8550.LE.1.0), hãy sử dụng các lệnh sau: PS C:> adb shell “ opkg –force-depends –force-reinstall –force-overwrite cài đặt /tmp/”

Cài đặt các tạo phẩm cho nền tảng Linux
Sử dụng các lệnh sau:
$ adb root $ adb vô hiệu hóa-verity $ adb khởi động lại $ adb chờ-cho-thiết bị $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp If gói này là ipk (dành cho QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Dọn dẹp hình ảnh docker
Sau khi hoàn thành quy trình làm việc của nhà phát triển, môi trường docker phải được dọn sạch để giải phóng bộ nhớ trên đĩa. Việc dọn dẹp docker sẽ loại bỏ các vùng chứa và hình ảnh không sử dụng, do đó giải phóng không gian đĩa.
Sử dụng các lệnh sau để dọn sạch hình ảnh docker:

  1. Chạy lệnh sau trên máy trạm Linux:
    $ cd /tflite-công cụ
  2. Dừng thùng chứa:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. Loại bỏ thùng chứa:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. Xóa hình ảnh docker cũ hơn:
    $ tflite-tools-host-hình ảnh-dọn dẹp

Khắc phục sự cố thiết lập docker

Nếu lệnh tflite-tools-host-build-image trả về thông báo Nospace left on device, thì hãy di chuyển thư mục docker đến/local/mnt. Hãy làm như sau để khắc phục sự cố thiết lập:

  1. Sao lưu docker hiện có files:
    $ tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date + %s).tar.gz
  2. Dừng docker:
    $ dịch vụ dừng docker
  3. Xác minh rằng không có quá trình docker nào đang chạy:
    $ ps giả | docker grep
  4. Kiểm tra cấu trúc thư mục docker:
    $ sudo ls /var/lib/docker/
  5. Di chuyển thư mục docker sang phân vùng mới:
    $ mv /var/lib/docker /local/mnt/docker
  6. Tạo một liên kết tượng trưng đến thư mục docker trong phân vùng mới:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. Đảm bảo rằng cấu trúc thư mục docker không thay đổi:
    $ sudo ls /var/lib/docker/
  8. Bắt đầu docker:
    $ dịch vụ docker bắt đầu
  9. Khởi động lại tất cả các container sau khi di chuyển thư mục docker.

Tạo SDK TFLite với máy trạm Linux

Quy trình làm việc TFLite SDK có thể được bật mà không cần vùng chứa bằng máy trạm Linux. Quy trình này là một giải pháp thay thế cho việc sử dụng các thùng chứa.
Để đồng bộ hóa và xây dựng SDK Qualcomm TFLite, hãy làm như sau:

  1. Tạo thư mục trên máy chủ file hệ thống để đồng bộ hóa không gian làm việc Qualcomm TFLite SDK. Dành cho người yêu cũamplê:
    $mkdir
    $cd
  2. Lấy mã nguồn Qualcomm TFLite SDK từ 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 phát hành && đồng bộ hóa repo -qc –no-tags -j8 && đồng bộ hóa repo -qc –no-tags -j8
  3. 3. Chỉnh sửa cấu hình JSON file trình bày trong /tflite-tools/ target/le-tflite-tools-builder.json với các mục sau
    “Hình ảnh”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “Đại biểu”: { “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”: “”
    Để biết thêm thông tin về các mục được đề cập trong cấu hình json file, hãy xem Docker.md readme file Tại /tflite-tools/.
    GHI CHÚ Đối với QCS8550, đại biểu Hexagon DSP không được hỗ trợ
  4. Nguồn tập lệnh để thiết lập môi trường:
    $ cd /tflite-công cụ
    nguồn $ ./scripts/host/host_env_setup.sh
  5. Xây dựng SDK Qualcomm TFLite.
    $ mục tiêu tflite-tools-setup/le-tflite-tools-builder.json
  6.  Chạy các lệnh tiện ích sau trong cùng trình bao Linux để thu thập các tạo phẩm TFLite SDK từ 
    TFLite_rsync_destination.
    $ mục tiêu tflite-tools-host-get-rel-package/le-tflite-tools-builder.json
    $ mục tiêu tflite-tools-host-get-dev-package/le-tflite-tools-builder.json
  7. Cài đặt các tạo phẩm dựa trên hệ điều hành
    • Đối với nền tảng Windows, trên PowerShell, hãy sử dụng tập lệnh sau
      PS C:> adb root PS C:> adbdisable-verity PS C:> adb restart 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
      Nếu gói là ipk (dành cho QCS8550.LE.1.0), hãy sử dụng các lệnh sau:
      PS C:> adb shell “opkg –force-depends –force-reinstall –forceoverwrite install /tmp/
      Đối với nền tảng Linux, hãy sử dụng tập lệnh sau:
      $ adb root $ adb vô hiệu hóa-verity $ adb khởi động lại $ adb chờ-cho-thiết bị $ adb root $ adb remount $ adb shell mount -o remount,rw / $ adb shell “mkdir -p /tmp” $ adb push /tmp Nếu gói là ipk (dành cho QCS8550.LE.1.0):
      $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

Tạo các tạo phẩm SDK Qualcomm TFLite để xây dựng QIM SDK

Để sử dụng các tạo phẩm được tạo nhằm kích hoạt trình cắm GStreamer của Qualcomm TFLite SDK trong QIM SDK, hãy làm như sau:

  1. Hoàn tất quy trình trong Đồng bộ hóa và xây dựng SDK Qualcomm TFLite, sau đó chạy lệnh sau: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    Một hắc ín file được tạo ra. Nó chứa SDK Qualcomm TFLite tại đường dẫn được cung cấp tại “TFLite_rsync_destination”
  2. Để bật plug-in Qualcomm TFLite SDK GStreamer, hãy sử dụng tar file làm đối số trong cấu hình JSON file cho bản dựng QIM SDK.
    Để biết thông tin về cách biên dịch QIM SDK, hãy xem Hướng dẫn bắt đầu nhanh SDK đa phương tiện thông minh Qualcomm (QIM SDK) (80-50450-51).

Xây dựng SDK Qualcomm TFLite tăng dần

Nếu bạn đang xây dựng SDK Qualcomm TFLite lần đầu tiên, hãy xem Xây dựng công cụ SDK Qualcomm TFLite – quy trình làm việc của nhà phát triển. Môi trường xây dựng tương tự có thể được tái sử dụng để phát triển gia tăng.
Các tiện ích trợ giúp (trong vùng chứa) được đề cập trong hình có sẵn cho các nhà phát triển để biên dịch các ứng dụng và trình cắm đã sửa đổi.
Hình 5-1 Quy trình làm việc trong vùng chứa

Sự liên quan

Sau khi hoàn tất các thay đổi mã trong thư mục mã, hãy làm như sau:

  1. Biên dịch mã sửa đổi:
    $ tflite-tools-incremental-build-install
  2. Mã biên dịch gói:
    $ tflite-tools-ipk-rel-pkg hoặc $ tflite-tools-deb-rel-pkg
  3. Đồng bộ hóa các gói phát hành với máy chủ file hệ thống:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. Chuẩn bị gói dev:
    $ tflite-tools-ipk-dev-pkg
    Các tạo phẩm đã biên dịch được tìm thấy trong thư mục TFLite_rsync_destination được đề cập trong JSON file, có thể được sao chép vào bất kỳ thư mục nào.

Làm việc với Đại biểu TFLite bên ngoài QNN

Đại biểu bên ngoài TFLite cho phép bạn chạy các mô hình của mình (một phần hoặc toàn bộ) trên một trình thực thi khác bằng cách sử dụng các thư viện do bên thứ ba đáng tin cậy như QNN của Qualcomm cung cấp. Cơ chế này có thể tận dụng nhiều bộ tăng tốc trên thiết bị như GPU hoặc Bộ xử lý Tensor Hexagon (HTP) để suy luận. Điều này cung cấp cho các nhà phát triển một phương pháp linh hoạt và tách rời khỏi TFLite mặc định để tăng tốc độ suy luận.

Điều kiện tiên quyết:

  • Đảm bảo rằng bạn sử dụng máy trạm Ubuntu để trích xuất ngăn xếp QNN AI.
  • Đảm bảo rằng bạn sử dụng QNN phiên bản 2.14 để kết hợp với Qualcomm TFLite SDK

SDK Qualcomm TFLite được kích hoạt để chạy suy luận trên một số back-end QNN thông qua Đại biểu bên ngoài TFLite cho QNN. Các mô hình TFLite với biểu diễn bộ đệm phẳng phổ biến có thể chạy trên GPU và HTP.
Sau khi cài đặt gói SDK Qualcomm TFLite trên thiết bị, hãy làm như sau để cài đặt thư viện QNN trên thiết bị.

  1. Tải xuống Trình quản lý gói Qualcomm 3 cho Ubuntu.
    a. Nhấp vàohttps://qpm.qualcomm.com/ và nhấp vào Công cụ.
    b. Trong ngăn bên trái, trong trường Công cụ tìm kiếm, nhập QPM. Từ danh sách Hệ điều hành hệ thống, chọn Linux.
    Kết quả tìm kiếm hiển thị danh sách Trình quản lý gói Qualcomm.
    c. Chọn Trình quản lý gói Qualcomm 3 và tải xuống gói debian Linux.
  2. Cài đặt Trình quản lý gói Qualcomm 3 cho Linux. Sử dụng lệnh sau:
    $ dpkg -i –bắt buộc ghi đè /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. Tải xuống Qualcomm®
    AI Engine Direct SDK trên máy trạm Ubuntu.
    a. Nhấp vào https://qpm.qualcomm.com/ và nhấp vào Công cụ.
    b. Trong ngăn bên trái, trong trường Công cụ tìm kiếm, nhập ngăn xếp AI. Từ danh sách Hệ điều hành hệ thống, chọn Linux.
    A danh sách thả xuống chứa các công cụ ngăn xếp AI khác nhau được hiển thị.
    c. Nhấp vào Qualcomm® AI Engine Direct SDK và tải xuống gói Linux v2.14.0.
  4. Cài đặt Qualcomm® AI Engine Direct SDK trên máy trạm Ubuntu.
    Một. Kích hoạt giấy phép:
    qpm-cli –license-kích hoạt quacomm_ai_engine_direct
    b Cài đặt SDK trực tiếp của AI Engine:
    $ qpm-cli –extract /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. Đẩy thư viện vào thiết bị từ máy trạm Ubuntu bằng adb push.
    $ cd /opt/qcom/aistack/qnn/2.14.0.230828 $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnDsp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnDspV66Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnGpu.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpPrepare.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnHtp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpV68Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnSaver.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnSystem.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnTFLiteDelegate.so /usr/lib/ $ adb push ./lib/hexagon-v65/ unsigned/ libQnnDspV65Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v66/unsigned/ libQnnDspV66Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v68/unsigned/ libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned/ libQnnHtpV73Skel. vậy /usr/lib/rfsa/adsp

Kiểm tra SDK Qualcomm TFLite

SDK Qualcomm TFLite cung cấp một sốampcác ứng dụng có thể được sử dụng để xác thực, đo điểm chuẩn và lấy độ chính xác của các mô hình mà nhà phát triển muốn đánh giá.
Sau khi cài đặt các gói SDK Qualcomm TFLite trên thiết bị, thiết bị sẽ có thời gian chạy để chạy các gói SDK này.ampứng dụng le.
Điều kiện tiên quyết
Tạo các thư mục sau trên thiết bị:
$ adb shell “mkdir /data/Models”
$ adb shell “mkdir /data/Lables”
$ adb shell “mkdir /data/profiling”

Nhãn hình ảnh

Hình ảnh nhãn là một tiện ích do Qualcomm TFLite SDK cung cấp, cho thấy cách bạn có thể tải mô hình TensorFlow Lite đã được đào tạo trước và đã chuyển đổi, đồng thời sử dụng nó để nhận dạng các đối tượng trong hình ảnh. Điều kiện tiên quyết:
Tải xuống sample mô hình và hình ảnh:
Bạn có thể sử dụng bất kỳ mô hình tương thích nào, nhưng mô hình MobileNet v1 sau đây là minh chứng tốt về mô hình được đào tạo để nhận dạng 1000 đối tượng khác nhau.

  • Nhận mô hình
    $curl https://lưu trữ.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/
  • Nhận nhãn
    $curl https://lưu trữ.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/
    Sau khi bạn kết nối với bộ chứa docker Qualcomm TFLite SDK, bạn có thể tìm thấy hình ảnh tại:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp”
    a. Đẩy cái này file đến/dữ liệu/Nhãn/
    b. Chạy lệnh:
    $ 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”

Điểm chuẩn

SDK Qualcomm TFLite cung cấp công cụ đo điểm chuẩn để tính toán hiệu suất của các thời gian chạy khác nhau.
Các công cụ đo điểm chuẩn này hiện đang đo lường và tính toán số liệu thống kê cho các số liệu hiệu suất quan trọng sau:

  • Thời gian khởi tạo
  • Thời gian suy luận của trạng thái khởi động
  • Thời gian suy luận của trạng thái ổn định
  • Sử dụng bộ nhớ trong thời gian khởi tạo
  • Tổng mức sử dụng bộ nhớ

Điều kiện tiên quyết

Đẩy các mô hình được kiểm tra từ TFLite Model Zoo (https://tfhub.dev/) đến/data/Models/. Chạy các kịch bản sau:  

  • Gói 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=/dữ liệu/hồ sơ/”
  • Đại biểu 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=/dữ liệu/hồ sơ/”
  • Đại biểu bên ngoài
    GPU đại biểu bên ngoài QNN:
    Chạy suy luận với mô hình dấu phẩy động:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so;skel_library_dir:/usr/lib/rfsa /adsp'”
    HTP đại biểu bên ngoài QNN:
    Chạy suy luận với mô hình lượng tử:
    $ adb shell-command “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtp.so;skel_library_dir:/usr/lib/rfsa /adsp'”

Công cụ chính xác

SDK Qualcomm TFLite cung cấp một công cụ chính xác để tính toán độ chính xác của các mô hình với nhiều thời gian chạy khác nhau.

  • Phân loại với đại biểu GPU
    Các bước tải xuống cần thiết fileBạn có thể tìm thấy các dữ liệu cần kiểm tra tại: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaluation/tasks/ imagenet_image_classificatio/README.md”
    Tệp nhị phân để chạy công cụ này đã là một phần của SDK nên nhà phát triển không cần phải xây dựng lại.
    $ 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”
  • Phát hiện đối tượng với gói XNN
    $ adb shell “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac

THÔNG TIN PHÁP LÝ

Việc bạn truy cập và sử dụng tài liệu này cùng với mọi thông số kỹ thuật, bảng tham khảo files, bản vẽ, chẩn đoán và thông tin khác có trong tài liệu này (gọi chung là "Tài liệu"), tùy thuộc vào bạn (bao gồm cả công ty hoặc pháp nhân khác mà bạn đại diện, nói chung “Bạn” hoặc “Của bạn”) chấp nhận các điều khoản và điều kiện (“Điều khoản sử dụng”) đặt ra dưới đây. Nếu Bạn không đồng ý với các Điều khoản Sử dụng này, bạn không được sử dụng Tài liệu này và phải hủy ngay mọi bản sao của Tài liệu đó.

  1. Thông báo pháp lý.
    Tài liệu này được cung cấp cho Bạn chỉ để Bạn sử dụng nội bộ với các sản phẩm và dịch vụ của Qualcomm Technologies, Inc. (“Qualcomm Technologies”) và các chi nhánh của nó được mô tả trong Tài liệu này và sẽ không được sử dụng cho bất kỳ mục đích nào khác. Không được thay đổi, chỉnh sửa hoặc sửa đổi Tài liệu này theo bất kỳ cách nào mà không có sự chấp thuận trước bằng văn bản của Qualcomm Technologies. Việc sử dụng hoặc tiết lộ trái phép thông tin này
    Tài liệu hoặc thông tin trong tài liệu này bị nghiêm cấm và Bạn đồng ý bồi thường cho Qualcomm Technologies, các chi nhánh và bên cấp phép của Qualcomm Technologies về mọi thiệt hại hoặc tổn thất mà Qualcomm Technologies, các chi nhánh và bên cấp phép của Qualcomm Technologies, các chi nhánh và bên cấp phép của Qualcomm Technologies phải chịu đối với bất kỳ việc sử dụng hoặc tiết lộ trái phép nào đối với Tài liệu này, toàn bộ hoặc phần. Qualcomm Technologies, các chi nhánh và người cấp phép của nó giữ mọi quyền và quyền sở hữu trong và đối với Tài liệu này. Không có giấy phép nào đối với bất kỳ nhãn hiệu, bằng sáng chế, bản quyền, quyền bảo vệ tác phẩm mặt nạ hoặc bất kỳ quyền sở hữu trí tuệ nào khác được cấp hoặc ngụ ý trong Tài liệu này hoặc bất kỳ thông tin nào được tiết lộ trong tài liệu này, bao gồm nhưng không giới hạn ở bất kỳ giấy phép nào để thực hiện, sử dụng, nhập khẩu hoặc bán bất kỳ sản phẩm, dịch vụ hoặc công nghệ nào bao gồm bất kỳ thông tin nào trong Tài liệu này.
    TÀI LIỆU NÀY ĐƯỢC CUNG CẤP “NGUYÊN TRẠNG” MÀ KHÔNG CÓ BẤT CỨ HÌNH THỨC BẢO ĐẢM NÀO, CHO DÙ RÕ RÀNG, NGỤ Ý, THEO LUẬT ĐỊNH HAY CÁCH KHÁC. TRONG PHẠM VI TỐI ĐA ĐƯỢC LUẬT PHÁP CHO PHÉP, QUALCOMM TECHNOLOGY, CÁC ĐƠN VỊ LIÊN KẾT VÀ NHÀ CẤP PHÉP CỦA QUALCOMM ĐẶC BIỆT TỪ CHỐI TẤT CẢ CÁC BẢO ĐẢM VỀ TIÊU CHUẨN, KHẢ NĂNG CÓ THỂ BÁN, KHÔNG VI PHẠM, SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ, CHẤT LƯỢNG ĐÁP ỨNG, ĐẦY ĐỦ HOẶC CHÍNH XÁC VÀ TẤT CẢ CÁC BẢO ĐẢM PHÁT SINH SỬ DỤNG THƯƠNG MẠI HOẶC NGOÀI ĐƯỜNG GIAO DỊCH HOẶC QUÁ TRÌNH THỰC HIỆN. HƠN NỮA, CẢ CÔNG NGHỆ QUALCOMM, HAY BẤT KỲ ĐƠN VỊ LIÊN KẾT HOẶC BÊN CẤP PHÉP NÀO CỦA NÓ SẼ KHÔNG CHỊU TRÁCH NHIỆM ĐỐI VỚI BẠN HOẶC BẤT KỲ BÊN THỨ BA NÀO VỀ BẤT KỲ CHI PHÍ, MẤT MÁT, SỬ DỤNG HOẶC HÀNH ĐỘNG NÀO DO BẠN PHÁT SINH HOẶC THỰC HIỆN DỰA TRÊN TÀI LIỆU NÀY.
    Một số bộ sản phẩm, công cụ và tài liệu nhất định được tham chiếu trong Tài liệu này có thể yêu cầu Bạn phải chấp nhận các điều khoản và điều kiện bổ sung trước khi truy cập hoặc sử dụng các mục đó.
    Dữ liệu kỹ thuật được chỉ định trong Tài liệu này có thể phải tuân theo luật kiểm soát xuất khẩu hiện hành của Hoa Kỳ và các luật khác. Việc truyền tải trái với Hoa Kỳ và bất kỳ luật hiện hành nào khác đều bị nghiêm cấm.
    Không có nội dung nào trong Tài liệu này là đề nghị bán bất kỳ thành phần hoặc thiết bị nào được đề cập ở đây.
    Tài liệu này có thể thay đổi mà không cần thông báo thêm. Trong trường hợp có xung đột giữa các Điều khoản sử dụng này và WebĐiều khoản sử dụng trang web trên www.qualcomm.com hoặc Chính sách quyền riêng tư của Qualcomm được tham chiếu trên www.qualcomm.com, các Điều khoản sử dụng này sẽ kiểm soát. Trong trường hợp có xung đột giữa các Điều khoản sử dụng này và bất kỳ thỏa thuận nào khác (bằng văn bản hoặc nhấp qua) được thực hiện bởi Bạn và Qualcomm Technologies hoặc một chi nhánh của Qualcomm Technologies liên quan đến quyền truy cập và sử dụng Tài liệu này của Bạn, thì thỏa thuận kia sẽ kiểm soát .
    Các Điều khoản sử dụng này sẽ được điều chỉnh, giải thích và thực thi theo luật pháp của Bang California, ngoại trừ Công ước Liên Hợp Quốc về Mua bán Hàng hóa Quốc tế, bất kể xung đột với các nguyên tắc luật pháp. Bất kỳ tranh chấp, khiếu nại hoặc tranh cãi nào phát sinh từ hoặc liên quan đến các Điều khoản sử dụng này hoặc vi phạm hay tính hợp lệ của các Điều khoản này sẽ chỉ được xét xử bởi tòa án có thẩm quyền tại quận San Diego, Bang California và Bạn đồng ý với quyền tài phán cá nhân của các tòa án đó cho mục đích đó.
  2. Tuyên bố ghi nhận nhãn hiệu và sản phẩm.
    Qualcomm là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Qualcomm Incorporated. Arm là nhãn hiệu đã đăng ký của Arm Limited (hoặc các công ty con) tại Hoa Kỳ và/hoặc nơi khác. Nhãn từ Bluetooth® là nhãn hiệu đã đăng ký thuộc sở hữu của Bluetooth SIG, Inc. Các tên thương hiệu và sản phẩm khác được tham chiếu trong Tài liệu này có thể là nhãn hiệu hoặc nhãn hiệu đã đăng ký của chủ sở hữu tương ứng.
    Các sản phẩm mang nhãn hiệu Snapdragon và Qualcomm được tham chiếu trong Tài liệu này là sản phẩm của Qualcomm Technologies, Inc. và/hoặc các công ty con của nó. Các công nghệ được cấp bằng sáng chế của Qualcomm được cấp phép bởi Qualcomm Incorporated.

Logo công ty

Tài liệu / Tài nguyên

Phần mềm SDK Qualcomm TensorFlow Lite [tập tin pdf] Hướng dẫn sử dụng
Phần mềm SDK TensorFlow Lite, Phần mềm SDK Lite, Phần mềm SDK, Phần mềm

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *