ARM बोर्ड के लिए LiteRT बनाएं

इस पेज में ARM पर आधारित, LiteRT लाइब्रेरी बनाने का तरीका बताया गया है कंप्यूटर.

LiteRT, दो बिल्ड सिस्टम और हर सुविधा के साथ काम करने वाली सुविधाओं के साथ काम करता है बिल्ड सिस्टम एक जैसा नहीं है. सही बिल्ड चुनने के लिए, यहां दी गई टेबल देखें सिस्टम.

सुविधा Bazel CMake
पहले से तय टूलचेन आर्मफ़, aआर्क64 आर्मल, arRM, arc64
पसंद के मुताबिक टूलचेन इस्तेमाल करना मुश्किल हो इस्तेमाल करने में आसान
TF ऑपरेशन चुनें समर्थित not supported
GPU डेलिगेट सिर्फ़ Android के लिए उपलब्ध है OpenCL के साथ काम करने वाला कोई भी प्लैटफ़ॉर्म
XNNPack समर्थित समर्थित
Python व्हील समर्थित समर्थित
C API समर्थित काम करता है
C++ एपीआई बेज़ेल प्रोजेक्ट के लिए इस्तेमाल किया जा सकता है CMake प्रोजेक्ट के लिए समर्थित

CMake की मदद से ARM का क्रॉस-कंपाइलेशन

अगर आपके पास CMake प्रोजेक्ट है या अगर आपको कस्टम टूलचेन का इस्तेमाल करना है, तो क्रॉस कंपाइलेशन के लिए CMake का बेहतर इस्तेमाल कर सकते हैं. यहां एक अलग CMake की मदद से LiteRT को क्रॉस कंपाइलेशन पेज उपलब्ध है.

Baज़ल के साथ ARM का क्रॉस-कंपाइलेशन

अगर आपके पास Basel प्रोजेक्ट है या अगर आपको TF ops का इस्तेमाल करना है, तो आपको Basel का इस्तेमाल करना चाहिए बिल्ड सिस्टम. इंटिग्रेट की गई सीएसएस का इस्तेमाल करें ARM GCC 8.3 टूलचेन साथ ही, ARM32/64 शेयर की गई लाइब्रेरी बनाने में मदद मिली.

टारगेट आर्किटेक्चर बेज़ेल कॉन्फ़िगरेशन साथ काम करने वाले डिवाइस
arRM (ARM32) --config=elinux_armhf RPI3, 32 बिट के साथ RPI4 रैज़बेरी पाई ओएस
AArch64 (ARM64) --config=elinux_aarch64 कोरल, Ubuntu 64 के साथ RPI4 बिट

निम्नलिखित निर्देशों का Ubuntu 16.04.3 64-बिट पीसी (AMD64) पर परीक्षण किया गया है और TensorFlow के डेवल डॉकर की इमेज tensorflow/tensorflow:devel.

Basel के साथ LiteRT को कंपाइल करने के लिए, यह तरीका अपनाएं:

पहला चरण. Basel इंस्टॉल करें

TensorFlow का मुख्य बिल्ड सिस्टम Baज़ल है. इसका सबसे नया वर्शन इंस्टॉल करें Baze बिल्ड सिस्टम.

दूसरा चरण. TensorFlow का क्लोन रिपॉज़िटरी

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

तीसरा चरण. ARM बाइनरी बनाएं

C लाइब्रेरी
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so

शेयर की गई लाइब्रेरी को यहां देखा जा सकता है: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so.

इस्तेमाल की जानकारी LiteRT C एपीआई पेज पर जाएं.

C++ लाइब्रेरी
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

शेयर की गई लाइब्रेरी को यहां देखा जा सकता है: bazel-bin/tensorflow/lite/libtensorflowlite.so.

फ़िलहाल, सभी ज़रूरी हेडर फ़ाइलों को एक्सट्रैक्ट करने का कोई आसान तरीका नहीं है, इसलिए, आपको TensorFlow से, सभी हेडर फ़ाइलों को tensorflow/lite/ में शामिल करना होगा डेटा स्टोर करने की जगह. इसके अलावा, आपको FlatBuffers की हेडर फ़ाइलों और एबसेल.

वगैरह

टूलचेन की मदद से, Basel के अन्य टारगेट भी बनाए जा सकते हैं. यहाँ कुछ काम की जानकारी दी गई है टारगेट के लिए.

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