Auf dieser Seite wird beschrieben, wie Sie die TensorFlow Lite-Python-Bibliothek tflite_runtime
für x86_64 und verschiedene ARM-Geräte erstellen.
Die folgende Anleitung wurde auf einem Ubuntu 16.04.3-64-Bit-PC (AMD64), macOS Catalina (x86_64) und dem TensorFlow-Devel-Docker-Image tensorflow/tensorflow:devel getestet.
Voraussetzungen
Sie müssen CMake installiert und eine Kopie des TensorFlow-Quellcodes haben. Weitere Informationen finden Sie auf der Seite Build TensorFlow Lite with CMake.
Zum Erstellen des PIP-Pakets für Ihre Workstation können Sie die folgenden Befehle ausführen.
PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native
ARM-Crosskompilierung
Für die ARM-Cross-Compilation wird die Verwendung von Docker empfohlen, da dies die Einrichtung einer Cross-Build-Umgebung vereinfacht. Außerdem benötigen Sie die Option target
, um die Zielarchitektur zu ermitteln.
In Makefile tensorflow/lite/tools/pip_package/Makefile
steht ein Hilfstool zur Verfügung, mit dem Sie einen Build-Befehl mit einem vordefinierten Docker-Container aufrufen können. Auf einer Docker-Hostmaschine 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
Das Skript tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
benötigt einen Zielnamen, um die Zielarchitektur zu ermitteln. Hier ist die Liste der unterstützten Ziele.
Target | 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 | Es baut auf der „nativen“ Optimierung auf. |
Standardeinstellung | 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
So verwenden Sie eine benutzerdefinierte Toolchain
Wenn die generierten Binärprogramme nicht mit Ihrem Ziel kompatibel sind, müssen Sie Ihre eigene Toolchain verwenden oder benutzerdefinierte Build-Flags bereitstellen. Hier finden Sie Informationen zu Ihrer Zielumgebung. In diesem Fall müssen Sie tensorflow/lite/tools/cmake/download_toolchains.sh
ändern, um Ihre eigene Toolchain zu verwenden.
Das Toolchain-Skript definiert die folgenden beiden Variablen für das Skript build_pip_package_with_cmake.sh
.
Variable | Zweck | Beispiel |
---|---|---|
ARMCC_PREFIX |
definiert das Toolchain-Präfix | arm-linux-gnueabihf- |
ARMCC_FLAGS |
Kompilierungs-Flags | -march=armv7-a -mfpu=neon-vfpv4 |