এই পৃষ্ঠাটি বর্ণনা করে কিভাবে ARM-ভিত্তিক কম্পিউটারের জন্য LiteRT লাইব্রেরি তৈরি করা যায়।
LiteRT দুটি বিল্ড সিস্টেম সমর্থন করে এবং প্রতিটি বিল্ড সিস্টেম থেকে সমর্থিত বৈশিষ্ট্যগুলি অভিন্ন নয়। একটি সঠিক বিল্ড সিস্টেম বাছাই করতে নিম্নলিখিত টেবিলটি পরীক্ষা করুন।
বৈশিষ্ট্য | বাজেল | সিমেক |
---|---|---|
পূর্বনির্ধারিত টুলচেইন | armhf, aarch64 | armel, armhf, aarch64 |
কাস্টম টুলচেইন | ব্যবহার করা কঠিন | ব্যবহার করা সহজ |
TF অপারেশন নির্বাচন করুন | সমর্থিত | সমর্থিত নয় |
GPU প্রতিনিধি | শুধুমাত্র Android এর জন্য উপলব্ধ | যে কোনো প্ল্যাটফর্ম যা OpenCL সমর্থন করে |
এক্সএনএনপ্যাক | সমর্থিত | সমর্থিত |
পাইথন হুইল | সমর্থিত | সমর্থিত |
C API | সমর্থিত | সমর্থিত |
C++ API | Bazel প্রকল্পের জন্য সমর্থিত | CMake প্রকল্পের জন্য সমর্থিত |
CMake এর সাথে ARM-এর জন্য ক্রস-সংকলন
আপনার যদি একটি CMake প্রকল্প থাকে বা আপনি যদি একটি কাস্টম টুলচেন ব্যবহার করতে চান তবে আপনি ক্রস কম্পাইলেশনের জন্য CMake ব্যবহার করবেন। এর জন্য উপলব্ধ CMake পৃষ্ঠা সহ একটি পৃথক ক্রস সংকলন LiteRT রয়েছে।
Bazel সহ ARM-এর জন্য ক্রস-সংকলন
আপনার যদি একটি Bazel প্রকল্প থাকে বা আপনি যদি TF ops ব্যবহার করতে চান, তাহলে আপনি Bazel বিল্ড সিস্টেম ব্যবহার করবেন। আপনি একটি ARM32/64 ভাগ করা লাইব্রেরি তৈরি করতে Bazel-এর সাথে সমন্বিত ARM GCC 8.3 টুলচেইন ব্যবহার করবেন।
টার্গেট আর্কিটেকচার | বেজেল কনফিগারেশন | সামঞ্জস্যপূর্ণ ডিভাইস |
---|---|---|
armhf (ARM32) | --config=elinux_armhf | 32 বিট রাস্পবেরি পাই ওএস সহ RPI3, RPI4 |
ARch64 (ARM64) | --config=elinux_aarch64 | কোরাল, উবুন্টু 64 বিট সহ RPI4 |
নিম্নলিখিত নির্দেশাবলী উবুন্টু 16.04.3 64-বিট পিসি (AMD64) এবং টেনসরফ্লো ডেভেল ডকার ইমেজ tensorflow/tensorflow:devel- এ পরীক্ষা করা হয়েছে।
Bazel এর সাথে LiteRT কম্পাইল করতে, ধাপগুলি অনুসরণ করুন:
ধাপ 1. Bazel ইনস্টল করুন
Bazel হল TensorFlow এর প্রাথমিক বিল্ড সিস্টেম। Bazel বিল্ড সিস্টেমের সর্বশেষ সংস্করণ ইনস্টল করুন।
ধাপ 2. টেনসরফ্লো রিপোজিটরি ক্লোন করুন
git clone https://github.com/tensorflow/tensorflow.git tensorflow_src
ধাপ 3. এআরএম বাইনারি তৈরি করুন
সি লাইব্রেরি
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so
আপনি এখানে একটি ভাগ করা লাইব্রেরি খুঁজে পেতে পারেন: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so
।
বিস্তারিত জানার জন্য LiteRT C API পৃষ্ঠা দেখুন।
C++ লাইব্রেরি
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so
আপনি এখানে একটি ভাগ করা লাইব্রেরি খুঁজে পেতে পারেন: bazel-bin/tensorflow/lite/libtensorflowlite.so
।
বর্তমানে, প্রয়োজনীয় সমস্ত হেডার ফাইল বের করার কোনো সহজ উপায় নেই, তাই আপনাকে অবশ্যই টেনসরফ্লো রিপোজিটরি থেকে টেনসরফ্লো/লাইট/-এ সমস্ত হেডার ফাইল অন্তর্ভুক্ত করতে হবে। উপরন্তু, আপনার FlatBuffers এবং Abseil থেকে হেডার ফাইলের প্রয়োজন হবে।
ইত্যাদি
আপনি টুলচেনের সাহায্যে অন্যান্য বেজেল লক্ষ্যগুলিও তৈরি করতে পারেন। এখানে কিছু দরকারী লক্ষ্য আছে।
- //tensorflow/lite/tools/benchmark:benchmark_model
- //tensorflow/lite/examples/label_image:label_image