Bangun Paket Roda Python TensorFlow Lite

Halaman ini menjelaskan cara membuat library Python tflite_runtime TensorFlow Lite untuk x86_64 dan berbagai perangkat ARM.

Petunjuk berikut telah diuji pada Ubuntu 16.04.3 64-bit PC (AMD64) , macOS Catalina (x86_64) dan TensorFlow devel Docker image tensorflow/tensorflow:devel .

Prasyarat

Anda perlu menginstal CMake dan salinan kode sumber TensorFlow. Silakan periksa halaman Build TensorFlow Lite dengan CMake untuk detailnya.

Untuk membangun paket PIP untuk workstation Anda, Anda dapat menjalankan perintah berikut.

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

kompilasi lintas ARM

Untuk kompilasi lintas ARM, disarankan untuk menggunakan Docker karena lebih mudah untuk menyiapkan lingkungan pembangunan silang. Anda juga memerlukan opsi target untuk mengetahui arsitektur target.

Ada alat pembantu di Makefile tensorflow/lite/tools/pip_package/Makefile tersedia untuk menjalankan perintah build menggunakan wadah Docker yang telah ditentukan sebelumnya. Pada mesin host Docker, Anda dapat menjalankan perintah build sebagai berikut.

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

Nama target yang tersedia

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh memerlukan nama target untuk mengetahui arsitektur target. Berikut adalah daftar target yang didukung.

Target Arsitektur target Komentar
armhf ARMv7 VFP dengan Neon Kompatibel dengan Raspberry Pi 3 dan 4
rpi0 ARMv6 Kompatibel dengan Raspberry Pi Nol
aarch64 aarch64 (ARM 64-bit) Coral Mendel Linux 4.0
Raspberry Pi dengan Ubuntu Server 20.04.01 LTS 64-bit
warga asli Stasiun kerja Anda Itu dibangun dengan optimasi "-mnative"
Stasiun kerja Anda Target bawaan

Membangun contoh

Berikut adalah beberapa contoh perintah yang dapat Anda gunakan.

target armhf untuk Python 3.7

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

aarch64 target untuk Python 3.8

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

Bagaimana cara menggunakan rantai alat khusus?

Jika binari yang dihasilkan tidak kompatibel dengan target Anda, Anda perlu menggunakan rantai alat Anda sendiri atau menyediakan flag build kustom. (Periksa ini untuk memahami lingkungan target Anda) Dalam hal ini, Anda perlu memodifikasi tensorflow/lite/tools/cmake/download_toolchains.sh untuk menggunakan rantai alat Anda sendiri. Skrip rantai alat mendefinisikan dua variabel berikut untuk skrip build_pip_package_with_cmake.sh .

Variabel Tujuan contoh
ARMCC_PREFIX mendefinisikan awalan toolchain arm-linux-gnueabihf-
ARMCC_FLAGS bendera kompilasi -march=armv7-a -mfpu=neon-vfpv4