Questa pagina descrive come creare la libreria Python TensorFlow Lite tflite_runtime
per x86_64 e vari dispositivi ARM.
Le seguenti istruzioni sono state testate su Ubuntu 16.04.3 PC a 64 bit (AMD64) , macOS Catalina (x86_64) e TensorFlow devel Docker image tensorflow/tensorflow:devel .
Prerequisiti
È necessario installare CMake e una copia del codice sorgente di TensorFlow. Si prega di controllare la pagina Build TensorFlow Lite con CMake per i dettagli.
Per creare il pacchetto PIP per la tua workstation, puoi eseguire i seguenti comandi.
PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native
Compilazione incrociata ARM
Per la compilazione incrociata ARM, si consiglia di utilizzare Docker poiché semplifica la configurazione dell'ambiente di compilazione incrociata. Inoltre è necessaria un'opzione di target
per capire l'architettura di destinazione.
È disponibile uno strumento di supporto in Makefile tensorflow/lite/tools/pip_package/Makefile
per richiamare un comando di compilazione utilizzando un contenitore Docker predefinito. Su una macchina host Docker, puoi eseguire un comando build come segue.
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>
Nomi di destinazione disponibili
tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
necessita di un nome di destinazione per capire l'architettura di destinazione. Ecco l'elenco dei target supportati.
Obbiettivo | Architettura di destinazione | Commenti |
---|---|---|
armf | VFP ARMv7 con Neon | Compatibile con Raspberry Pi 3 e 4 |
rpi0 | ARMv6 | Compatibile con Raspberry Pi Zero |
aarch64 | aarch64 (ARM 64 bit) | Coral Mendel Linux 4.0 Raspberry Pi con Ubuntu Server 20.04.01 LTS a 64 bit |
nativo | La tua postazione di lavoro | Si costruisce con l'ottimizzazione "-mnative". |
La tua postazione di lavoro | Obiettivo predefinito |
Costruisci esempi
Ecco alcuni comandi di esempio che puoi utilizzare.
target armhf per Python 3.7
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7
aarch64 target per Python 3.8
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8
Come utilizzare una toolchain personalizzata?
Se i binari generati non sono compatibili con il tuo target, devi usare la tua toolchain o fornire flag di build personalizzati. (Seleziona questa opzione per comprendere l'ambiente di destinazione) In tal caso, è necessario modificare tensorflow/lite/tools/cmake/download_toolchains.sh
per utilizzare la propria toolchain. Lo script toolchain definisce le seguenti due variabili per lo script build_pip_package_with_cmake.sh
.
Variabile | Scopo | esempio |
---|---|---|
PREFISSO_ARMCC | definisce il prefisso della toolchain | arm-linux-gnueabihf- |
ARMCC_FLAGS | flag di compilazione | -marzo=armv7-a -mfpu=neon-vfpv4 |