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