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
Yüklü CMake ve TensorFlow kaynak kodunun bir kopyasına ihtiyacınız var. Ayrıntılar için lütfen CMake ile TensorFlow Lite Oluştur 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 oluşturma ortamının kurulumunu kolaylaştırdığından Docker kullanılması önerilir. Ayrıca hedef mimariyi anlamak için bir target
seçeneğine ihtiyacınız var.
Makefile tensorflow/lite/tools/pip_package/Makefile
, önceden tanımlanmış bir Docker kapsayıcısını kullanarak bir derleme komutunu çağırmak için bir yardımcı araç vardır. Bir Docker ana 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>
Mevcut hedef adları
tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
betiğinin hedef mimariyi bulmak için bir hedef ada ihtiyacı var. İşte desteklenen hedeflerin listesi.
Hedef | Hedef mimari | Yorumlar |
---|---|---|
kol | Neon ile ARMv7 VFP | Raspberry Pi 3 ve 4 ile uyumlu |
rpi0 | ARMv6 | Raspberry Pi Zero ile uyumlu |
aar64 | aarch64 (ARM 64-bit) | Mercan Mendel Linux 4.0 Ubuntu Sunuculu Raspberry Pi 20.01.01 LTS 64-bit |
yerli | İş istasyonunuz | "-mnative" optimizasyonu ile oluşturulur |
İş istasyonunuz | Varsayılan hedef |
Örnek oluşturma
İş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 alet zinciri nasıl kullanılır?
Oluşturulan ikili dosyalar hedefinizle uyumlu değilse, kendi araç zincirinizi kullanmanız veya özel oluşturma 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 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 bayrakları | -mart=armv7-a -mfpu=neon-vfpv4 |