Crea LiteRT per schede ARM

In questa pagina viene descritto come creare le librerie LiteRT per le librerie basate su ARM computer.

LiteRT supporta due sistemi di compilazione e funzionalità supportate da ogni non sono identiche. Controlla la tabella seguente per scegliere una build appropriata di un sistema operativo completo.

Funzionalità Bazel CMake
Toolchain predefinite armhf, aarch64 armel, armhf, aarch64
Toolchain personalizzate più difficili da usare facile da usare
Seleziona operazioni TF supportata non supportato
Delega GPU disponibile solo per Android su qualsiasi piattaforma che supporti OpenCL
XNNPack supportata supportata
Ruota Python supportata supportata
API C supportata supportato
API C++ supportato per i progetti Bazel supportato per i progetti CMake

Cross-compilazione per ARM con CMake

Se hai un progetto CMake o vuoi utilizzare una toolchain personalizzata, è meglio usare CMake per le compilation incrociate. C'è un'istanza Compilazione incrociata LiteRT con CMake disponibile a questo scopo.

Cross-compilazione per ARM con Bazel

Se hai un progetto Bazel o vuoi utilizzare operazioni di TF, ti consigliamo di usare Bazel di un sistema di compilazione. Utilizzerai i modelli integrati Catene di strumenti GCC 8.3 ARM con Bazel per creare una libreria condivisa ARM32/64.

Architettura di destinazione Configurazione Bazel Dispositivi compatibili
armhf (ARM32) --config=elinux_armhf RPI3, RPI4 a 32 bit Sistema operativo Raspberry Pi
AArch64 (ARM64) --config=elinux_aarch64 Coral, RPI4 con Ubuntu 64 punta

Le seguenti istruzioni sono state testate su Ubuntu 16.04.3 PC a 64 bit (AMD64) e l'immagine Docker di TensorFlow Developer tensorflow/tensorflow:devel.

Per eseguire la compilazione incrociata di LiteRT con Bazel, segui questi passaggi:

Passaggio 1. Installa Bazel

Bazel è il sistema di compilazione principale per TensorFlow. Installa la versione più recente di il sistema di compilazione Bazel.

Passaggio 2: Clona il repository TensorFlow

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

Passaggio 3: Crea programma binario ARM

Raccolta C
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so

Puoi trovare una libreria condivisa in: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so.

Controllo API LiteRT C pagina per i dettagli.

libreria C++
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

Puoi trovare una libreria condivisa in: bazel-bin/tensorflow/lite/libtensorflowlite.so.

Al momento, non esiste un modo semplice per estrarre tutti i file di intestazione necessari, Devi quindi includere tutti i file di intestazione in TensorFlow/lite/ dal repository Git. Inoltre, avrai bisogno dei file di intestazione Ascella.

ecc.

Puoi anche costruire altri target Bazel con la toolchain. Ecco alcuni esempi target.

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