Trang này mô tả cách xây dựng thư viện Python TensorFlow Lite tflite_runtime
cho x86_64 và các thiết bị ARM khác nhau.
Các hướng dẫn sau đây đã được thử nghiệm trên Ubuntu 16.04.3 PC 64-bit (AMD64) , macOS Catalina (x86_64) và TensorFlow devel Docker image 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 trang Build TensorFlow Lite với CMake để biết chi tiết.
Để xây dựng gói PIP cho máy trạm của bạn, bạn có thể chạy các lệ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 sử dụng Docker vì nó giúp thiết lập môi trường xây dựng chéo dễ dàng hơn. Ngoài ra, bạn cần một tùy chọn target
để tìm ra kiến trúc đích.
Có một công cụ trợ giúp trong Makefile tensorflow/lite/tools/pip_package/Makefile
có sẵn để gọi lệnh xây dựng bằng cách sử dụng vùng chứa Docker được xác định trước. Trên máy chủ Docker, bạn có thể chạy lệnh build 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ó sẵn
Tập lệnh tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
cần một tên đích để tìm ra kiến trúc đích. Đây là danh sách các mục tiêu được hỗ trợ.
Mục tiêu | kiến 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 |
vòm64 | aarch64 (ARM 64-bit) | San hô Mendel Linux 4.0 Raspberry Pi với Ubuntu Server 20.04.01 LTS 64-bit |
tự nhiên | máy trạm của bạn | Nó được xây dựng với tối ưu hóa "-mnative" |
máy trạm của bạn | mục tiêu mặc định |
Xây dựng ví dụ
Dưới đây là một số lệnh ví dụ 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
Làm cách nào để sử dụng chuỗi công cụ tùy chỉnh?
Nếu các tệp nhị phân được tạo không tương thích với mục tiêu của bạn, thì bạn cần sử dụng chuỗi công cụ của riêng mình hoặc cung cấp các cờ bản dựng tùy chỉnh. (Kiểm tra phần này để hiểu môi trường mục tiêu của bạn) Trong trường hợp đó, bạn cần 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 đổi | Mục đích | ví dụ |
---|---|---|
ARMCC_PREFIX | xác định tiền tố chuỗi công cụ | arm-linux-gnueabihf- |
ARMCC_FLAGS | cờ tổng hợp | -march=armv7-a -mfpu=neon-vfpv4 |