TensorFlow Lite Python Dönme Paketi Oluşturma

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 görüntüsü tensorflow/tensorflow:devel üzerinde test edilmiştir.

Ön koşullar

CMake'in yüklü olması ve TensorFlow kaynak kodunun bir kopyası gereklidir. Ayrıntılar için lütfen TensorFlow Lite with CMake sayfasını inceleyin.

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

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

ARM çapraz derlemesi

ARM çapraz derlemesi için, derleme ortamı kurmayı kolaylaştırdığından Docker kullanılması önerilir. Ayrıca, hedef mimariyi anlamak için bir target seçeneğine ihtiyacınız vardır.

Önceden tanımlanmış Docker container'ını kullanarak derleme komutu çağırmak için Makefile tensorflow/lite/tools/pip_package/Makefile ürününde bir yardımcı araç bulunmaktadır. Bir Docker ana makinesi makinesinde, aşağıdaki gibi bir derleme komutu ç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ının hedef mimariyi anlamak için bir hedef adına ihtiyacı vardır. Desteklenen hedeflerin listesini burada bulabilirsiniz.

Hedef Hedef mimari Yorum sayısı
Armhf Neon ile ARMv7 VFP Raspberry Pi 3 ve 4 ile uyumlu
rpi0 ARMv6 Raspberry Pi Zero ile uyumlu
aarch64 aarch64 (ARM 64 bit) Coral Mendel Linux 4.0
Raspberry Pi (Ubuntu Server 20.04.01 LTS 64 bit ile)
yerel İş istasyonunuz "-mnative" optimizasyonu ile oluşturulur
varsayılan İş istasyonunuz Varsayılan hedef

Derleme örnekleri

Kullanabileceğiniz bazı örnek komutlar aşağıda verilmiştir.

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 araç zinciri nasıl kullanılır?

Oluşturulan ikili programlar hedefinizle uyumlu değilse kendi araç zincirinizi kullanmanız veya özel derleme işaretleri sağlamanız gerekir. (Hedef ortamınızı anlamak için buraya göz atın.) Bu durumda, tensorflow/lite/tools/cmake/download_toolchains.sh aracını kendi araç zincirinizi kullanacak şekilde değiştirmeniz gerekir. Araç zinciri komut dosyası, build_pip_package_with_cmake.sh komut dosyası 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 işaretleri -march=armv7-a -mfpu=neon-vfpv4