ARM বোর্ডের জন্য LiteRT তৈরি করুন

এই পৃষ্ঠাটি বর্ণনা করে কিভাবে 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