इस पेज में 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