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 |