Ndërtoni LiteRT për bordet ARM

Kjo faqe përshkruan se si të ndërtohen bibliotekat LiteRT për kompjuterë të 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 të duhur ndërtimi.

Veçori Bazel CMake
Zinxhirë mjetesh të paracaktuara armhf, aarch64 armel, armhf, aarch64
Zinxhirë mjetesh me porosi më e vështirë për t'u përdorur lehtë për t'u përdorur
Zgjidhni opsionet TF mbështetur nuk mbështetet
delegat GPU në dispozicion vetëm për Android çdo platformë që mbështet OpenCL
XNNPack mbështetur mbështetur
Rrota Python mbështetur mbështetur
C API mbështetur mbështetur
C++ API mbështetur për projektet e Bazelit mbështetur për projektet CMake

Ndër-përpilim për ARM me CMake

Nëse keni një projekt CMake ose nëse dëshironi të përdorni një zinxhir mjetesh të personalizuara, do të ishte më mirë të përdorni CMake për përpilim të kryqëzuar. Ekziston një faqe e veçantë e përmbledhjes së kryqëzuar LiteRT me CMake për këtë.

Kompilim i kryqëzuar për ARM me Bazel

Nëse keni një projekt Bazel ose nëse dëshironi të përdorni funksionet TF, do të përdorni më mirë sistemin e ndërtimit të Bazel. Ju do të përdorni zinxhirët e integruar të veglave ARM GCC 8.3 me Bazel për të ndërtuar një bibliotekë të përbashkët ARM32/64.

Arkitektura e synuar Konfigurimi Bazel Pajisjet e përputhshme
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 TensorFlow Devel Docker image tensorflow/tensorflow:devel .

Për të ndërthurur përpilimin e 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 depon e TensorFlow

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

Hapi 3. Ndërtoni binarin ARM

C bibliotekë
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 LiteRT C API për detaje.

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

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

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

etj

Ju gjithashtu mund të ndërtoni objektiva të tjerë Bazel me zinxhirin e veglave. Këtu janë disa objektiva të dobishëm.

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