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