Questa pagina descrive come creare la libreria Python tflite_runtime
TensorFlow Lite 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 che CMake sia installato e una copia del codice sorgente di TensorFlow. Per i dettagli, consulta la pagina Costruisci TensorFlow Lite con CMake .
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 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
Lo script 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.
Bersaglio | Architettura di destinazione | Commenti |
---|---|---|
armhf | 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 "-mnativa". |
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
destinazione aarch64 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 file binari generati non sono compatibili con la tua destinazione, devi utilizzare la tua toolchain o fornire flag di build personalizzati. (Controlla questo per comprendere il tuo ambiente di destinazione) In tal caso, devi modificare tensorflow/lite/tools/cmake/download_toolchains.sh
per utilizzare la tua toolchain. Lo script toolchain definisce le seguenti due variabili per lo script build_pip_package_with_cmake.sh
.
Variabile | Scopo | esempio |
---|---|---|
ARMCC_PREFIX | definisce il prefisso della toolchain | arm-linux-gnueabihf- |
ARMCC_FLAGS | flag di compilazione | -march=armv7-a -mfpu=neon-vfpv4 |