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 |