建構 TensorFlow Lite Python Wheel 套件

本頁面說明如何為 x86_64 和各種 ARM 裝置建構 TensorFlow Lite tflite_runtime Python 程式庫。

下列操作說明已在 Ubuntu 16.04.3 64 位元 PC (AMD64)、macOS Catalina (x86_64) 和 TensorFlow Devel Docker 映像檔 tensorflow/tensorflow:devel 上經過測試,

必要條件

您需要安裝 CMake 並複製 TensorFlow 原始碼。詳情請參閱「使用 CMake 建構 TensorFlow Lite」頁面。

如要為工作站建構 PIP 套件,您可以執行以下指令。

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

ARM 交叉編譯

針對 ARM 跨平台程式碼編譯,建議您使用 Docker,因為這樣能更輕鬆地設定跨建構環境。此外,您需要 target 選項才能找出目標架構。

Makefile tensorflow/lite/tools/pip_package/Makefile 提供了輔助工具,以便使用預先定義的 Docker 容器叫用建構指令。在 Docker 主機上,您可以按照下列步驟執行建構指令。

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

可用的目標名稱

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh 指令碼需要目標名稱才能判斷目標架構。下方列出支援的目標。

目標 目標架構 註解
Armhf ARMv7 VFP 搭配 Neon 與 Raspberry Pi 3 和 4 相容
rpi0 ARMv6 與 Raspberry Pi Zero 相容
aarch64 aarch64 (ARM 64 位元) Coral Mendel Linux 4.0
Raspberry Pi 搭配 Ubuntu Server 20.04.01 LTS 64 位元
原生 您的工作站 以「-m 原生」最佳化作業進行建構
預設 您的工作站 預設目標

建構範例

以下提供幾個可用的指令範例。

armhf 目標為 Python 3.7

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

Python 3.8 的 aarch64 目標

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

如何使用自訂工具鍊?

如果產生的二進位檔與您的目標不相容,您必須使用自己的工具鍊或提供自訂建構標記。(請參閱這項設定以瞭解您的目標環境)。在這種情況下,您必須修改 tensorflow/lite/tools/cmake/download_toolchains.sh,才能使用自己的工具鍊。工具鍊指令碼為 build_pip_package_with_cmake.sh 指令碼定義了下列兩個變數。

變數 目的 例子
ARMCC_PREFIX 定義工具鍊前置字串 arm-linux-gnueabihf-
ARMCC_FLAGS 編譯旗標 -march=armv7-a -mfpu=neon-vfpv4