Utwórz pakiet LiteRT Python Wheel

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