Buat Paket Roda Python TensorFlow Lite

Halaman ini menjelaskan cara membuat pustaka Python TensorFlow Lite tflite_runtime 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 mengetahui detailnya.

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

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

Kompilasi silang ARM

Untuk kompilasi lintas ARM, disarankan untuk menggunakan Docker karena memudahkan pengaturan lingkungan lintas build. Anda juga memerlukan opsi target untuk mengetahui arsitektur target.

Ada alat pembantu di Makefile tensorflow/lite/tools/pip_package/Makefile yang tersedia untuk menjalankan perintah build menggunakan container 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

skrip 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 sasaran Komentar
armhf VFP ARMv7 dengan Neon Kompatibel dengan Raspberry Pi 3 dan 4
rpi0 ARMv6 Kompatibel dengan Raspberry Pi Nol
aarch64 aarch64 (ARM 64-bit) Karang Mendel Linux 4.0
Raspberry Pi dengan Ubuntu Server 20.04.01 LTS 64-bit
warga asli Tempat kerja Anda Itu dibangun dengan optimasi "-mnative".
Tempat kerja Anda Target bawaan

Bangun contoh

Berikut 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

target aarch64 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 biner yang dihasilkan tidak kompatibel dengan target, Anda perlu menggunakan rantai alat Anda sendiri atau menyediakan tanda build khusus. (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 toolchain mendefinisikan dua variabel berikut untuk skrip build_pip_package_with_cmake.sh .

Variabel Tujuan contoh
ARMCC_PREFIX mendefinisikan awalan rantai alat lengan-linux-gnueabihf-
ARMCC_FLAGS bendera kompilasi -march=armv7-a -mfpu=neon-vfpv4