TensorFlow Lite Python Tekerlek Paketi Oluşturun

Bu sayfada, x86_64 ve çeşitli ARM cihazları için TensorFlow Lite tflite_runtime Python kitaplığının nasıl oluşturulacağı açıklanmaktadır.

Aşağıdaki talimatlar Ubuntu 16.04.3 64 bit PC (AMD64), macOS Catalina (x86_64) ve TensorFlow devel Docker image tensorflow/tensorflow:devel üzerinde test edilmiştir.

Önkoşullar

CMake'in kurulu olması ve TensorFlow kaynak kodunun bir kopyasına ihtiyacınız var. Ayrıntılar için lütfen Build TensorFlow Lite with CMake sayfasını kontrol edin.

İş istasyonunuz için PIP paketini oluşturmak için aşağıdaki komutları çalıştırabilirsiniz.

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

ARM çapraz derleme

ARM çapraz derleme için, çapraz yapı ortamını kurmayı kolaylaştırdığından Docker kullanılması önerilir. Ayrıca hedef mimariyi bulmak için bir target seçeneğe ihtiyacınız var.

Makefile tensorflow/lite/tools/pip_package/Makefile içinde, önceden tanımlanmış bir Docker kapsayıcısı kullanarak bir derleme komutunu çağırmak için bir yardımcı araç vardır. Bir Docker host makinesinde build komutunu aşağıdaki gibi çalıştırabilirsiniz.

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

Kullanılabilir hedef adları

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh komut dosyası, hedef mimariyi anlamak için bir hedef adına ihtiyaç duyar. İşte desteklenen hedeflerin listesi.

Hedef Hedef mimari Yorumlar
armhf Neon ile ARMv7 VFP Raspberry Pi 3 ve 4 ile uyumlu
rpi0 ARMv6 Raspberry Pi Zero ile uyumlu
aarch64 aarch64 (ARM 64-bit) Mercan Mendel Linux 4.0
Ubuntu Sunucusu 20.04.01 LTS 64-bit ile Raspberry Pi
yerli İş istasyonunuz "-mnative" optimizasyonu ile oluşturur
İş istasyonunuz varsayılan hedef

Derleme örnekleri

İşte kullanabileceğiniz bazı örnek komutlar.

Python 3.7 için armhf hedefi

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

Python 3.8 için aarch64 hedefi

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

Özel bir araç zinciri nasıl kullanılır?

Oluşturulan ikili dosyalar hedefinizle uyumlu değilse, kendi araç zincirinizi kullanmanız veya özel derleme bayrakları sağlamanız gerekir. (Hedef ortamınızı anlamak için bunu kontrol edin) Bu durumda, kendi araç zincirinizi kullanmak için tensorflow/lite/tools/cmake/download_toolchains.sh değiştirmeniz gerekir. Araç zinciri betiği, build_pip_package_with_cmake.sh betiği için aşağıdaki iki değişkeni tanımlar.

Değişken Amaç örnek
ARMCC_PREFIX araç zinciri önekini tanımlar arm-linux-gnueabihf-
ARMCC_FLAGS derleme bayrakları -march=armv7-a -mfpu=neon-vfpv4