Tạo gói LiteRT Python Wheel (Bánh xe Python)

Trang này mô tả cách tạo Python LiteRT tflite_runtime dành cho x86_64 và nhiều thiết bị ARM khác nhau.

Các hướng dẫn sau đã được thử nghiệm trên Ubuntu 16.04.3 64-bit PC (AMD64) , hình ảnh macOS Catalina (x86_64) và TensorFlow devel Docker tensorflow/tensorflow:devel.

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

Bạn cần cài đặt CMake và một bản sao của mã nguồn TensorFlow. Vui lòng kiểm tra Xây dựng LiteRT bằng CMake để biết thông tin chi tiết.

Để xây dựng gói PIP cho máy trạm, bạn có thể chạy như sau .

PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native

Biên dịch chéo ARM

Để biên dịch chéo ARM, bạn nên dùng Docker vì cách này sẽ giúp bạn để thiết lập môi trường tạo nhiều bản dựng. Ngoài ra, bạn cần có một tuỳ chọn target để tìm hiểu cấu trúc mục tiêu.

Có một công cụ trợ giúp trong Makefile tensorflow/lite/tools/pip_package/Makefile có thể gọi một lệnh tạo bản dựng bằng cách sử dụng một vùng chứa Docker được xác định trước. Trên Máy chủ lưu trữ Docker, bạn có thể chạy một lệnh bản dựng như sau.

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>

Tên mục tiêu có thể sử dụng

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh cần tập lệnh tên mục tiêu để xác định cấu trúc mục tiêu. Dưới đây là danh sách các tính năng được hỗ trợ mục tiêu.

Mục tiêu Cấu trúc mục tiêu Bình luận
cánh tay ARMv7 VFP với Neon Tương thích với Raspberry Pi 3 và 4
rpi0 ARMv6 Tương thích với Raspberry Pi Zero
aarch64 aarch64 (ARM 64 bit) Coral Mendel Linux 4.0
Raspberry Pi với Ubuntu Server 20.04.01 LTS 64 bit
gốc Máy trạm của bạn Chiến dịch này được xây dựng bằng "-mnative" tối ưu hoá
mặc định Máy trạm của bạn Mục tiêu mặc định

Ví dụ về bản dựng

Dưới đây là một số lệnh mẫu mà bạn có thể sử dụng.

mục tiêu armhf cho Python 3.7

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

mục tiêu aarch64 cho Python 3.8

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8

Cách sử dụng chuỗi công cụ tuỳ chỉnh?

Nếu tệp nhị phân đã tạo không tương thích với tệp nhị phân của bạn, bạn cần sử dụng chuỗi công cụ của riêng bạn hoặc cung cấp cờ bản dựng tuỳ chỉnh. (Kiểm tra thế này hiểu môi trường mục tiêu) Trong trường hợp đó, bạn cần phải sửa đổi tensorflow/lite/tools/cmake/download_toolchains.sh để sử dụng chuỗi công cụ của riêng bạn. Tập lệnh chuỗi công cụ xác định hai biến sau cho Tập lệnh build_pip_package_with_cmake.sh.

Biến Mục đích ví dụ
ARMCC_PREFIX xác định tiền tố chuỗi công cụ arm-linux-gnueabihf-
ARMCC_FLAGS cờ biên dịch -march=armv7-a -mFPu=neon-vFPv4