LiteRT-Python-Radpaket erstellen

Auf dieser Seite wird beschrieben, wie LiteRT tflite_runtime Python erstellt wird für x86_64 und verschiedene ARM-Geräte.

Die folgende Anleitung wurde auf Ubuntu 16.04.3 64-Bit-PC (AMD64) getestet , macOS Catalina (x86_64) und TensorFlow Entwickler-Docker-Image tensorflow/tensorflow:devel.

Vorbereitung

Sie müssen CMake installiert haben und eine Kopie des TensorFlow-Quellcodes erstellen. Bitte überprüfen Sie LiteRT mit CMake erstellen finden Sie weitere Informationen.

Führen Sie folgenden Befehl aus, um das PIP-Paket für Ihre Workstation zu erstellen: .

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

ARM-Cross-Kompilierung

Für die ARM-Cross-Kompilierung wird empfohlen, Docker zu verwenden, da dies die um eine Build-übergreifende Umgebung einzurichten. Außerdem benötigen Sie die Option target, um herauszufinden, die Zielarchitektur.

In Makefile tensorflow/lite/tools/pip_package/Makefile gibt es ein Hilfstool zum Aufrufen eines Build-Befehls mit einem vordefinierten Docker-Container. Auf einer Docker-Hostcomputer können Sie einen Build-Befehl wie folgt ausführen.

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

Verfügbare Zielnamen

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh Script benötigt einen Zielnamen, um die Zielarchitektur zu bestimmen. Hier ist eine Liste der unterstützten Ziele.

Ziel Zielarchitektur Kommentare
Armhf ARMv7 VFP mit Neon Kompatibel mit Raspberry Pi 3 und 4
rpi0 ARMv6 Kompatibel mit Raspberry Pi Zero
aarch64 aarch64 (ARM 64-Bit) Coral Mendel Linux 4.0
Raspberry Pi mit Ubuntu Server 20.04.01 LTS 64-Bit
nativen Anzeige Ihre Workstation Die Anwendung baut mit „-mnative“ auf, Optimierung
Standard Ihre Workstation Standardziel

Build-Beispiele

Hier sind einige Beispielbefehle, die Sie verwenden können.

armhf-Ziel für Python 3.7

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

aarch64-Ziel für Python 3.8

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

Wie wird eine benutzerdefinierte Toolchain verwendet?

Wenn die generierten Binärdateien nicht mit Ihrem Ziel kompatibel sind, müssen Sie Ihrer eigenen Toolchain oder stellen Sie benutzerdefinierte Build-Flags bereit. (Prüfen Sie dieser um Ihre Zielumgebung zu verstehen). In diesem Fall müssen Sie tensorflow/lite/tools/cmake/download_toolchains.sh, um Ihre eigene Toolchain zu verwenden. Das Toolchain-Skript definiert die folgenden beiden Variablen für die build_pip_package_with_cmake.sh-Script.

Variable Zweck Beispiel
ARMCC_PREFIX definiert Toolchain-Präfix arm-linux-gnueabihf-
ARMCC_FLAGS Kompilierungs-Flags -march=armv7-a -mfpu=neon-vfpv4