Crea il pacchetto TensorFlow Lite Python Wheel

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