本頁面說明如何為 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 |