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