Na tej stronie dowiesz się, jak utworzyć Pythona tflite_runtime
LiteRT
biblioteka x86_64 i różne urządzenia ARM.
Poniższe instrukcje zostały przetestowane w systemie Ubuntu 16.04.3 64-bitowego komputera (AMD64) , macOS Catalina (x86_64) i opracowanie obrazu Dockera w TensorFlow tensorflow/tensorflow:devel.
Wymagania wstępne
Musisz zainstalować CMake i kopię kodu źródłowego TensorFlow. Sprawdź Tworzenie LiteRT przy użyciu CMake .
Aby utworzyć pakiet PIP dla stacji roboczej, możesz uruchomić te polecenia: poleceń.
PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native
Krzyżowa kompilacja ARM
W przypadku kompilacji krzyżowej w architekturze ARM zalecamy użycie Dockera, ponieważ ułatwia to
aby skonfigurować środowisko kompilacji z różnych komponentów. Aby to sprawdzić, musisz też wybrać opcję target
docelową architekturę.
W Makefile tensorflow/lite/tools/pip_package/Makefile
znajduje się narzędzie pomocnicze
umożliwia wywoływanie polecenia kompilacji przy użyciu wstępnie zdefiniowanego kontenera Dockera. Dzień
hosta Dockera, możesz uruchomić polecenie kompilacji w następujący sposób.
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>
Dostępne nazwy celów
tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
skrypt wymaga
nazwę docelową,
by określić docelową architekturę. Oto lista obsługiwanych funkcji
celów.
Cel | Docelowa architektura | Komentarze |
---|---|---|
Armhf | VFP ARMv7 z neonem | Zgodny z Raspberry Pi 3 i 4 |
rpi0 | ARMv6 | Zgodny z Raspberry Pi Zero |
aarch64 | aarch64 (64-bitowa ARM) | Coral Mendel Linux 4.0 Raspberry Pi z Ubuntu Server 20.04.01 LTS 64-bitowego |
natywna | Twoja stacja robocza | Słowo kluczowe „-mnative” optymalizacja |
domyślna | Twoja stacja robocza | Domyślny cel |
Przykłady kompilacji
Oto kilka przykładowych poleceń, których możesz użyć.
cel armhf dla Pythona 3.7
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7
Cel aarch64 dla Pythona 3.8
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8
Jak korzystać z niestandardowego łańcucha narzędzi?
Jeśli wygenerowane pliki binarne nie są zgodne z Twoim miejscem docelowym, musisz użyć
własnego łańcucha narzędzi
lub niestandardowych flag kompilacji. (Sprawdź
to
aby poznać środowisko docelowe). W takim przypadku należy zmodyfikować
tensorflow/lite/tools/cmake/download_toolchains.sh
, aby użyć własnego łańcucha narzędzi.
Skrypt łańcucha narzędzi definiuje dwie następujące zmienne dla interfejsu
Skrypt build_pip_package_with_cmake.sh
.
Zmienna | Cel | przykład |
---|---|---|
ARMCC_PREFIX |
definiuje prefiks łańcucha narzędzi | arm-linux-gnueabihf- |
ARMCC_FLAGS |
flagi kompilacji | -march=armv7-a -mfpu=neon-vfpv4 |