Creazione del pacchetto Python Wheel LiteRT

Questa pagina descrive come creare il Python tflite_runtime LiteRT libreria 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 immagine Docker di TensorFlow tensorflow/tensorflow:devel.

Prerequisiti

Devi installare CMake e una copia del codice sorgente di TensorFlow. Controlla Crea LiteRT con CMake per i dettagli.

Per creare il pacchetto PIP per la tua workstation, puoi eseguire questo comando tramite comandi SQL.

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

Cross-compilation ARM

Per la compilazione incrociata ARM, si consiglia di usare Docker poiché semplifica per configurare l'ambiente di più build. Hai anche bisogno di un'opzione target per capire l'architettura di destinazione.

Esiste uno strumento di supporto in Makefile tensorflow/lite/tools/pip_package/Makefile disponibile per richiamare un comando build utilizzando un container Docker predefinito. Su un macchina host Docker, puoi eseguire un comando di build come segue.

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

Nomi target disponibili

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh script richiede un nome di destinazione per capire l'architettura di destinazione. Ecco l'elenco delle app supportate target.

Target 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 a 64 bit) Coral Mendel Linux 4.0
Raspberry Pi con Ubuntu Server 20.04.01 LTS a 64 bit
nativo La tua workstation Si basa su "-mnative" ottimizzazione
predefinita La tua workstation Target predefinito

Esempi di build

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

target aarch64 per Python 3.8

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

Come si utilizza una toolchain personalizzata?

Se i file binari generati non sono compatibili con il target, devi utilizzare la tua toolchain o fornire flag di build personalizzati. (Controlla questo per comprendere l'ambiente di destinazione). In questo caso, devi modificare tensorflow/lite/tools/cmake/download_toolchains.sh per utilizzare la tua toolchain. Lo script di toolchain definisce le seguenti due variabili per Script build_pip_package_with_cmake.sh.

Variabile Finalità esempio
ARMCC_PREFIX definisce il prefisso di Toolchain arm-linux-gnueabihf-
ARMCC_FLAGS flag di compilazione -marzo=armv7-a -mfpu=neon-vfpv4