Ndërtoni LiteRT për bordet ARM

Kjo faqe përshkruan se si të ndërtohen bibliotekat LiteRT për kompjuterët e bazuar në ARM.

LiteRT mbështet dy sisteme ndërtimi dhe veçoritë e mbështetura nga secili sistem ndërtimi nuk janë identike. Kontrolloni tabelën e mëposhtme për të zgjedhur një sistem ndërtimi të duhur.

Karakteristikë Bazel CMake
Zinxhirë mjetesh të paracaktuara armhf, aarch64 armel, armhf, aarch64
Zinxhirë mjetesh të personalizuara më e vështirë për t’u përdorur i lehtë për t’u përdorur
Zgjidh operacionet TF mbështetur nuk mbështetet
Delegati i GPU-së i disponueshëm vetëm për Android çdo platformë që mbështet OpenCL
XNNPack mbështetur mbështetur
Rrota e Pythonit mbështetur mbështetur
API-ja e C-së mbështetur mbështetur
API-ja e C++ mbështetur për projektet Bazel mbështetur për projektet CMake

Kompilim i kryqëzuar për ARM me CMake

Nëse keni një projekt CMake ose nëse doni të përdorni një zinxhir mjetesh të personalizuara, është më mirë të përdorni CMake për kompilimin e kryqëzuar. Ekziston një faqe e veçantë LiteRT me CMake për kompilimin e kryqëzuar, e disponueshme për këtë.

Përmbledhje e kryqëzuar për ARM me Bazel

Nëse keni një projekt Bazel ose nëse doni të përdorni operacione TF, është më mirë të përdorni sistemin e ndërtimit Bazel. Do të përdorni zinxhirët e mjeteve të integruara ARM GCC 8.3 me Bazel për të ndërtuar një bibliotekë të përbashkët ARM32/64.

Arkitektura e Synimit Konfigurimi i Bazelit Pajisje të pajtueshme
armhf (ARM32) --config=elinux_armhf RPI3, RPI4 me sistemin operativ Raspberry Pi 32 bit
AArch64 (ARM64) --config=elinux_aarch64 Coral, RPI4 me Ubuntu 64 bit

Udhëzimet e mëposhtme janë testuar në Ubuntu 16.04.3 64-bit PC (AMD64) dhe imazhin TensorFlow devel docker tensorflow/tensorflow:devel .

Për të kompiluar në mënyrë të kryqëzuar LiteRT me Bazel, ndiqni hapat:

Hapi 1. Instaloni Bazel

Bazel është sistemi kryesor i ndërtimit për TensorFlow. Instaloni versionin më të fundit të sistemit të ndërtimit Bazel .

Hapi 2. Klononi repozitorin TensorFlow

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

Hapi 3. Ndërtoni binarin ARM

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

Mund të gjeni një bibliotekë të përbashkët në: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so .

Kontrolloni faqen e LiteRT C API për detaje.

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

Mund të gjeni një bibliotekë të përbashkët në: bazel-bin/tensorflow/lite/libtensorflowlite.so .

Aktualisht, nuk ka një mënyrë të drejtpërdrejtë për të nxjerrë të gjithë skedarët e kokës së nevojshme, kështu që duhet të përfshini të gjithë skedarët e kokës në tensorflow/lite/ nga depoja TensorFlow. Përveç kësaj, do t'ju duhen skedarë të kokës nga FlatBuffers dhe Abseil.

Etj.

Gjithashtu mund të ndërtoni objektiva të tjerë Bazel me zinxhirin e mjeteve. Ja disa objektiva të dobishëm.

  • //tensorflow/lite/tools/benchmark:benchmark_model
  • //tensorflow/lite/shembuj/imazh_labeli:imazh_labeli