Mem-build Paket Wheel Python TensorFlow Lite

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

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

Prasyarat

Anda perlu menginstal CMake dan salinan kode sumber TensorFlow. Lihat halaman Mem-build TensorFlow Lite dengan CMake untuk mengetahui detailnya.

Untuk mem-build paket PIP bagi workstation, Anda dapat menjalankan perintah berikut.

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

Kompilasi silang ARM

Untuk kompilasi silang ARM, sebaiknya gunakan Docker karena akan mempermudah penyiapan lintas lingkungan build. Anda juga memerlukan opsi target untuk mengetahui arsitektur target.

Ada helper tool di Makefile tensorflow/lite/tools/pip_package/Makefile yang tersedia untuk memanggil perintah build menggunakan container Docker yang telah ditetapkan. Di 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 target Komentar
Armhf VFP ARMv7 dengan Neon Kompatibel dengan Raspberry Pi 3 dan 4
rpi0 ARMv6 Kompatibel dengan Raspberry Pi Zero
aarch64 aarch64 (ARM 64-bit) Coral Mendel Linux 4.0
Raspberry Pi dengan Ubuntu Server 20.04.01 LTS 64-bit
native Workstation Anda Dibuat dengan pengoptimalan "-mnative"
default Workstation Anda Target default

Membuat 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 toolchain kustom?

Jika biner yang dihasilkan tidak kompatibel dengan target, Anda harus menggunakan toolchain sendiri atau menyediakan flag build kustom. (Periksa ini untuk memahami lingkungan target Anda) Dalam hal ini, Anda perlu mengubah tensorflow/lite/tools/cmake/download_toolchains.sh agar dapat menggunakan toolchain sendiri. Skrip toolchain menentukan dua variabel berikut untuk skrip build_pip_package_with_cmake.sh.

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