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

এই পৃষ্ঠাটি বর্ণনা করে কিভাবে ARM-ভিত্তিক কম্পিউটারের জন্য LiterRT লাইব্রেরি তৈরি করতে হয়।

LiterRT দুটি বিল্ড সিস্টেম সমর্থন করে এবং প্রতিটি বিল্ড সিস্টেমের সমর্থিত বৈশিষ্ট্যগুলি একই রকম নয়। সঠিক বিল্ড সিস্টেমটি বেছে নিতে নিম্নলিখিত টেবিলটি পরীক্ষা করুন।

বৈশিষ্ট্য বাজেল সিমেক
পূর্বনির্ধারিত টুলচেইন আর্মএইচএফ, aarch64 আরমেল, আর্মএইচএফ, আরচ৬৪
কাস্টম টুলচেইন ব্যবহার করা কঠিন ব্যবহার করা সহজ
টিএফ অপশন নির্বাচন করুন সমর্থিত সমর্থিত নয়
জিপিইউ প্রতিনিধি শুধুমাত্র অ্যান্ড্রয়েডের জন্য উপলব্ধ OpenCL সমর্থন করে এমন যেকোনো প্ল্যাটফর্ম
XNNPack সম্পর্কে সমর্থিত সমর্থিত
পাইথন হুইল সমর্থিত সমর্থিত
সি এপিআই সমর্থিত সমর্থিত
সি++ এপিআই Bazel প্রকল্পের জন্য সমর্থিত CMake প্রকল্পের জন্য সমর্থিত

CMake-এর সাথে ARM-এর জন্য ক্রস-কম্পাইলেশন

যদি আপনার একটি CMake প্রকল্প থাকে অথবা আপনি যদি একটি কাস্টম টুলচেইন ব্যবহার করতে চান, তাহলে ক্রস কম্পাইলেশনের জন্য CMake ব্যবহার করাই ভালো। এর জন্য একটি পৃথক ক্রস কম্পাইলেশন LiteRT with CMake পৃষ্ঠা উপলব্ধ।

ব্যাজেলের সাথে ARM-এর জন্য ক্রস-কম্পাইলেশন

যদি আপনার একটি Bazel প্রকল্প থাকে অথবা আপনি যদি TF ops ব্যবহার করতে চান, তাহলে আপনার Bazel বিল্ড সিস্টেম ব্যবহার করা উচিত। আপনি একটি ARM32/64 শেয়ার্ড লাইব্রেরি তৈরি করতে Bazel এর সাথে ইন্টিগ্রেটেড ARM GCC 8.3 টুলচেইন ব্যবহার করবেন।

লক্ষ্য স্থাপত্য ব্যাজেল কনফিগারেশন সামঞ্জস্যপূর্ণ ডিভাইস
আর্মএইচএফ (এআরএম৩২) --কনফিগ=এলিনাক্স_আর্মহফ ৩২ বিট রাস্পবেরি পাই ওএস সহ RPI3, RPI4
AArch64 (ARM64) --কনফিগ=এলিনাক্স_আর্ক৬৪ কোরাল, উবুন্টু ৬৪ বিট সহ RPI4

নিম্নলিখিত নির্দেশাবলী উবুন্টু ১৬.০৪.৩ ৬৪-বিট পিসি (AMD64) এবং TensorFlow devel docker image tensorflow/tensorflow:devel তে পরীক্ষা করা হয়েছে।

Bazel দিয়ে LiterRT কম্পাইল করতে, ধাপগুলি অনুসরণ করুন:

ধাপ ১. ব্যাজেল ইনস্টল করুন

টেনসরফ্লোর জন্য ব্যাজেল হল প্রাথমিক বিল্ড সিস্টেম। ব্যাজেল বিল্ড সিস্টেমের সর্বশেষ সংস্করণটি ইনস্টল করুন।

ধাপ ২. টেনসরফ্লো সংগ্রহস্থল ক্লোন করুন

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

ধাপ ৩. এআরএম বাইনারি তৈরি করুন

সি লাইব্রেরি
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so

আপনি একটি শেয়ার্ড লাইব্রেরি এখানে খুঁজে পেতে পারেন: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so

বিস্তারিত জানার জন্য LiterRT C API পৃষ্ঠাটি দেখুন।

সি++ লাইব্রেরি
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

আপনি একটি শেয়ার্ড লাইব্রেরি এখানে খুঁজে পেতে পারেন: bazel-bin/tensorflow/lite/libtensorflowlite.so

বর্তমানে, প্রয়োজনীয় সকল হেডার ফাইল এক্সট্র্যাক্ট করার কোন সহজ উপায় নেই, তাই আপনাকে TensorFlow রিপোজিটরি থেকে tensorflow/lite/ এ সকল হেডার ফাইল অন্তর্ভুক্ত করতে হবে। অতিরিক্তভাবে, আপনার FlatBuffers এবং Abseil থেকে হেডার ফাইলের প্রয়োজন হবে।

ইত্যাদি

আপনি টুলচেইন দিয়ে অন্যান্য ব্যাজেল টার্গেটও তৈরি করতে পারেন। এখানে কিছু দরকারী টার্গেট দেওয়া হল।

  • //টেনসরফ্লো/লাইট/টুল/বেঞ্চমার্ক:বেঞ্চমার্ক_মডেল
  • //টেনসরফ্লো/লাইট/উদাহরণ/লেবেল_ইমেজ:লেবেল_ইমেজ