Halaman ini menjelaskan cara membangun library TensorFlow Lite untuk komputer berbasis ARM.
TensorFlow Lite mendukung dua sistem build dan fitur yang didukung dari setiap sistem build tidak identik. Periksa tabel berikut untuk memilih sistem build yang tepat.
Fitur | Bazel | CMake |
---|---|---|
Toolchain yang telah ditentukan sebelumnya | armhf, aarch64 | armel, armhf, aarch64 |
Toolchain kustom | lebih sulit untuk digunakan | mudah untuk digunakan |
Pilih operasi TF | didukung | tidak didukung |
Delegasi GPU | hanya tersedia untuk Android | platform apa pun yang mendukung OpenCL |
XNNPack | didukung | didukung |
Roda Python | didukung | didukung |
C API | didukung | didukung |
C++ API | didukung untuk project Bazel | didukung untuk project CMake |
Kompilasi silang untuk ARM dengan CMake
Jika Anda memiliki project CMake atau ingin menggunakan toolchain kustom, sebaiknya gunakan CMake untuk kompilasi silang. Ada halaman kompilasi silang TensorFlow Lite dengan CMake terpisah yang tersedia untuk ini.
Kompilasi silang untuk ARM dengan Bazel
Jika Anda memiliki project Bazel atau ingin menggunakan operasi TF, sebaiknya gunakan sistem build Bazel. Anda akan menggunakan Toolchain ARM GCC 8.3 terintegrasi dengan Bazel untuk membuat library bersama ARM32/64.
Arsitektur Target | Konfigurasi Bazel | Perangkat yang Kompatibel |
---|---|---|
Armhf (ARM32) | --config=elinux_armhf | RPI3, RPI4 dengan 32 bit raspberry Pi OS |
AArch64 (ARM64) | --config=elinux_aarch64 | Coral, RPI4 dengan Ubuntu 64 bit |
Petunjuk berikut telah diuji di PC 64-bit Ubuntu 16.04.3 (AMD64) dan image Docker devel TensorFlow tensorflow/tensorflow:devel.
Untuk mengompilasi TensorFlow Lite dengan Bazel, ikuti langkah-langkah berikut:
Langkah 1. Instal Bazel
Bazel adalah sistem build utama untuk TensorFlow. Instal versi terbaru sistem build Bazel.
Langkah 2: Meng-clone repositori TensorFlow
git clone https://github.com/tensorflow/tensorflow.git tensorflow_src
Langkah 3. Biner ARM build
Library C
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so
Anda dapat menemukan pustaka bersama di:
bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so
.
Lihat halaman TensorFlow Lite C API untuk mengetahui detailnya.
Library C++
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so
Anda dapat menemukan pustaka bersama di:
bazel-bin/tensorflow/lite/libtensorflowlite.so
.
Saat ini, tidak ada cara mudah untuk mengekstrak semua file header yang diperlukan, sehingga Anda harus menyertakan semua file header di tensorflow/lite/ dari repositori TensorFlow. Selain itu, Anda akan memerlukan file header dari FlatBuffers dan Abseil.
Dst.
Anda juga dapat membangun target Bazel lainnya dengan toolchain. Berikut beberapa target yang berguna.
- //tensorflow/lite/tools/benchmark:benchmark_model
- //tensorflow/lite/examples/label_image:label_image