Terima kasih telah mendengarkan Google I/O. Lihat semua sesi sesuai permintaan Tonton sesuai permintaan

Bangun TensorFlow Lite untuk papan ARM

Halaman ini menjelaskan cara membangun pustaka 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 Buat
Toolchain yang telah ditentukan sebelumnya armhf, aarch64 armel, armhf, aarch64
Toolchain kustom lebih sulit untuk digunakan mudah digunakan
Pilih operasi TF didukung tidak didukung
Delegasi GPU hanya tersedia untuk Android platform apa pun yang mendukung OpenCL
XNNPack didukung didukung
Roda Piton didukung didukung
API C didukung didukung
API C++ didukung untuk proyek Bazel didukung untuk proyek CMake

Kompilasi silang untuk ARM dengan CMake

Jika Anda memiliki proyek CMake atau jika Anda ingin menggunakan toolchain khusus, sebaiknya gunakan CMake untuk kompilasi silang. Ada kompilasi Cross TensorFlow Lite terpisah dengan halaman CMake yang tersedia untuk ini.

Kompilasi silang untuk ARM dengan Bazel

Jika Anda memiliki proyek Bazel atau jika Anda ingin menggunakan operasi TF, Anda sebaiknya menggunakan sistem build Bazel. Anda akan menggunakan toolchain ARM GCC 8.3 terintegrasi dengan Bazel untuk membangun pustaka bersama ARM32/64.

Arsitektur Sasaran Konfigurasi Bazel Perangkat yang Kompatibel
lenganhf (ARM32) --config=elinux_armhf RPI3, RPI4 dengan OS Raspberry Pi 32 bit
AArch64 (ARM64) --config=elinux_aarch64 Karang, RPI4 dengan Ubuntu 64 bit

Instruksi berikut telah diuji pada Ubuntu 16.04.3 64-bit PC (AMD64) dan TensorFlow devel docker image tensorflow/tensorflow:devel .

Untuk mengompilasi silang TensorFlow Lite dengan Bazel, ikuti langkah-langkahnya:

Langkah 1. Instal Bazel

Bazel adalah sistem build utama untuk TensorFlow. Instal versi terbaru dari sistem build Bazel .

Langkah 2. Kloning repositori TensorFlow

git clone https://github.com/tensorflow/tensorflow.git tensorflow_src

Langkah 3. Bangun biner ARM

perpustakaan 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 .

Periksa halaman API TensorFlow Lite C untuk detailnya.

pustaka 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, jadi Anda harus menyertakan semua file header di tensorflow/lite/ dari repositori TensorFlow. Selain itu, Anda memerlukan file header dari FlatBuffers dan Abseil.

Dll

Anda juga dapat membangun target Bazel lainnya dengan toolchain. Berikut adalah beberapa target yang berguna.

  • //tensorflow/lite/tools/benchmark:benchmark_model
  • //tensorflow/lite/contoh/label_image:label_image