ডিফল্টরূপে, এমএল কিট-এর এপিআইগুলো গুগল-প্রশিক্ষিত মেশিন লার্নিং মডেল ব্যবহার করে। এই মডেলগুলো বিস্তৃত পরিসরের অ্যাপ্লিকেশন কভার করার জন্য ডিজাইন করা হয়েছে। তবে, কিছু ব্যবহারের ক্ষেত্রে আরও সুনির্দিষ্ট মডেলের প্রয়োজন হয়। এই কারণেই এখন কিছু এমএল কিট এপিআই আপনাকে ডিফল্ট মডেলগুলোকে কাস্টম LiteRT মডেল দিয়ে প্রতিস্থাপন করার সুযোগ দেয়।
ইমেজ লেবেলিং এবং অবজেক্ট ডিটেকশন ও ট্র্যাকিং এপিআই উভয়ই কাস্টম ইমেজ ক্লাসিফিকেশন মডেল সমর্থন করে। এগুলি টেনসরফ্লো হাব-এ থাকা নির্বাচিত কিছু উচ্চ-মানের প্রি-ট্রেইনড মডেলের সাথে অথবা টেনসরফ্লো বা অটোএমএল দিয়ে প্রশিক্ষিত আপনার নিজস্ব কাস্টম মডেলের সাথে সামঞ্জস্যপূর্ণ।
অন্যান্য ডোমেইন বা ব্যবহারের ক্ষেত্রের জন্য যদি আপনার কোনো কাস্টম সমাধানের প্রয়োজন হয়, তাহলে অন-ডিভাইস মেশিন লার্নিং-এর জন্য গুগলের সমস্ত সমাধান ও টুলস সম্পর্কে নির্দেশনার জন্য অন-ডিভাইস মেশিন লার্নিং পেজটি দেখুন।
কাস্টম মডেলের সাথে এমএল কিট ব্যবহারের সুবিধাসমূহ
এমএল কিট-এর সাথে কাস্টম ইমেজ ক্লাসিফিকেশন মডেল ব্যবহারের সুবিধাগুলো হলো:
- ব্যবহার করা সহজ উচ্চ-স্তরের এপিআই - নিম্ন-স্তরের মডেল ইনপুট/আউটপুট, ছবির প্রি-/পোস্ট-প্রসেসিং বা প্রসেসিং পাইপলাইন তৈরির ঝামেলা নেই।
- আপনাকে নিজে থেকে লেবেল ম্যাপিং নিয়ে চিন্তা করতে হবে না , এমএল কিট (ML Kit) লিটার্ট (LiteRT) মডেল মেটাডেটা থেকে লেবেলগুলো বের করে আপনার জন্য ম্যাপিং করে দেয়।
- TensorFlow Hub-এ প্রকাশিত প্রি-ট্রেইনড মডেল থেকে শুরু করে TensorFlow বা AutoML দিয়ে প্রশিক্ষিত নতুন মডেল পর্যন্ত, বিভিন্ন উৎস থেকে কাস্টম মডেল সমর্থন করে ।
- অ্যান্ড্রয়েডের ক্যামেরা এপিআই-এর সাথে সমন্বয়ের জন্য অপ্টিমাইজ করা হয়েছে।
এবং, বিশেষত বস্তু শনাক্তকরণ ও ট্র্যাকিংয়ের জন্য:
- প্রথমে বস্তুগুলো সনাক্ত করে এবং শুধুমাত্র সংশ্লিষ্ট ছবির অংশে ক্লাসিফায়ারটি চালিয়ে শ্রেণিবিন্যাসের নির্ভুলতা উন্নত করুন ।
- বস্তু শনাক্ত ও শ্রেণিবদ্ধ করার সাথে সাথে আপনার ব্যবহারকারীদের তাৎক্ষণিক প্রতিক্রিয়া প্রদানের মাধ্যমে একটি রিয়েল-টাইম ইন্টারেক্টিভ অভিজ্ঞতা তৈরি করুন ।
একটি পূর্ব-প্রশিক্ষিত চিত্র শ্রেণিবিন্যাস মডেল ব্যবহার করুন
আপনি আগে থেকে প্রশিক্ষিত LiteRT মডেল ব্যবহার করতে পারেন, যদি সেগুলি নির্দিষ্ট কিছু মানদণ্ড পূরণ করে। TensorFlow Hub-এর মাধ্যমে আমরা Google বা অন্যান্য মডেল নির্মাতাদের থেকে যাচাইকৃত কিছু মডেল সরবরাহ করছি, যেগুলি এই মানদণ্ডগুলো পূরণ করে।
TensorFlow Hub-এ প্রকাশিত একটি মডেল ব্যবহার করুন
TensorFlow Hub বিভিন্ন মডেল নির্মাতাদের তৈরি বহু পূর্ব-প্রশিক্ষিত (pre-trained) ইমেজ ক্লাসিফিকেশন মডেল সরবরাহ করে, যা ইমেজ লেবেলিং (Image Labeling) এবং অবজেক্ট ডিটেকশন ও ট্র্যাকিং (Object Detection and Tracking) এপিআই-এর সাথে ব্যবহার করা যায়। এই ধাপগুলো অনুসরণ করুন।
- এমএল কিট সামঞ্জস্যপূর্ণ মডেলগুলোর সংগ্রহ থেকে একটি মডেল বেছে নিন।
- মডেলের বিবরণ পৃষ্ঠা থেকে .tflite মডেল ফাইলটি ডাউনলোড করুন। যেখানে উপলব্ধ, মেটাডেটা সহ একটি মডেল ফরম্যাট বেছে নিন।
- আপনার প্রোজেক্টের সাথে মডেল ফাইল কীভাবে বান্ডল করবেন এবং আপনার অ্যান্ড্রয়েড বা আইওএস অ্যাপ্লিকেশনে কীভাবে এটি ব্যবহার করবেন, তা জানতে আমাদের ইমেজ লেবেলিং এপিআই অথবা অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই-এর গাইডগুলো অনুসরণ করুন।
আপনার নিজস্ব চিত্র শ্রেণীকরণ মডেলকে প্রশিক্ষণ দিন
যদি আগে থেকে প্রশিক্ষিত কোনো ইমেজ ক্লাসিফিকেশন মডেল আপনার প্রয়োজন মেটাতে না পারে, তবে আপনার নিজস্ব LiteRT মডেলকে প্রশিক্ষণ দেওয়ার বিভিন্ন উপায় রয়েছে, যার মধ্যে কয়েকটি পরবর্তী বিভাগে আরও বিস্তারিতভাবে আলোচনা করা হয়েছে।
| আপনার নিজের ইমেজ ক্লাসিফিকেশন মডেল প্রশিক্ষণের বিকল্পগুলি | |
|---|---|
| অটোএমএল |
|
| একটি TensorFlow মডেলকে LiteRT তে রূপান্তর করুন |
|
অটোএমএল
অটোএমএল (AutoML) ব্যবহার করে প্রশিক্ষিত ইমেজ ক্লাসিফিকেশন মডেলগুলো ইমেজ লেবেলিং এবং অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই ( API)-এর কাস্টম মডেলগুলো দ্বারা সমর্থিত। এই এপিআইগুলো ক্লাউড স্টোরেজে হোস্ট করা মডেলগুলো ডাউনলোড করাও সমর্থন করে।
আপনার অ্যান্ড্রয়েড এবং আইওএস অ্যাপে অটোএমএল (AutoML) দিয়ে প্রশিক্ষিত মডেল কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, আপনার ব্যবহারের ক্ষেত্র অনুযায়ী প্রতিটি এপিআই (API)-এর জন্য কাস্টম মডেল গাইডগুলো অনুসরণ করুন।
LiteRT কনভার্টার ব্যবহার করে তৈরি মডেল
আপনার যদি আগে থেকে কোনো TensorFlow ইমেজ ক্লাসিফিকেশন মডেল থাকে, তবে আপনি LiteRT কনভার্টার ব্যবহার করে সেটি রূপান্তর করতে পারেন। নিশ্চিত করুন যে তৈরি করা মডেলটি নিম্নলিখিত সামঞ্জস্যতার প্রয়োজনীয়তাগুলো পূরণ করে।
আপনার অ্যান্ড্রয়েড এবং আইওএস অ্যাপে কীভাবে LiteRT মডেল ব্যবহার করবেন সে সম্পর্কে আরও জানতে, আপনার ব্যবহারের ক্ষেত্র অনুযায়ী আমাদের ইমেজ লেবেলিং এপিআই (Image Labeling API) অথবা অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই (Object Detection and Tracking API) সম্পর্কিত গাইডগুলো অনুসরণ করুন।
LiteRT মডেলের সামঞ্জস্যতা
আপনি যেকোনো পূর্ব-প্রশিক্ষিত LiteRT ইমেজ ক্লাসিফিকেশন মডেল ব্যবহার করতে পারেন, যদি তা নিম্নলিখিত শর্তগুলো পূরণ করে:
টেনসর
- মডেলটিতে নিম্নলিখিত শর্তাবলী সাপেক্ষে শুধুমাত্র একটি ইনপুট টেনসর থাকতে হবে:
- ডেটাটি RGB পিক্সেল ফরম্যাটে রয়েছে।
- ডেটাটি UINT8 অথবা FLOAT32 টাইপের। যদি ইনপুট টেনসরের টাইপ FLOAT32 হয়, তবে Metadata সংযুক্ত করে NormalizationOptions অবশ্যই নির্দিষ্ট করতে হবে।
- টেন্সরটির ৪টি মাত্রা রয়েছে: BxHxWxC, যেখানে:
- B হলো ব্যাচ সাইজ। এটি অবশ্যই ১ হতে হবে (এর চেয়ে বড় ব্যাচের ক্ষেত্রে ইনফারেন্স সমর্থিত নয়)।
- W এবং H হলো ইনপুট প্রস্থ এবং উচ্চতা।
- C হলো প্রত্যাশিত চ্যানেলের সংখ্যা। এর মান অবশ্যই ৩ হতে হবে।
- মডেলটিতে অবশ্যই N সংখ্যক ক্লাস এবং ২ অথবা ৪ ডাইমেনশন বিশিষ্ট কমপক্ষে একটি আউটপুট টেনসর থাকতে হবে:
- (1xN)
- (১x১x১xN)
- শুধুমাত্র একক-মাথা মডেলগুলোই সম্পূর্ণরূপে সমর্থিত। একাধিক-মাথা মডেল অপ্রত্যাশিত ফলাফল দিতে পারে।
মেটাডেটা
LiteRT মডেলে মেটাডেটা যোগ করা অংশে যেমন ব্যাখ্যা করা হয়েছে, সেভাবে আপনি LiteRT ফাইলে মেটাডেটা যোগ করতে পারেন।
FLOAT32 ইনপুট টেনসর সহ একটি মডেল ব্যবহার করতে হলে, আপনাকে মেটাডেটাতে NormalizationOptions নির্দিষ্ট করতে হবে।
আমরা আরও সুপারিশ করি যে আপনি এই মেটাডেটাটি আউটপুট টেনসর TensorMetadata- এর সাথে সংযুক্ত করুন।
- প্রতিটি আউটপুট ক্লাসের নাম নির্দিষ্ট করে একটি লেবেল ম্যাপ, যা TENSOR_AXIS_LABELS টাইপের একটি AssociatedFile হিসেবে থাকে (অন্যথায় শুধুমাত্র সংখ্যাসূচক আউটপুট ক্লাস সূচকগুলি ফেরত দেওয়া যেতে পারে)।
- একটি ডিফল্ট স্কোর থ্রেশহোল্ড, যার নিচে প্রাপ্ত ফলাফল ফেরত দেওয়ার জন্য অত্যন্ত কম-নির্ভরযোগ্য বলে বিবেচিত হয়, যা ScoreThresholdingOptions সহ একটি ProcessUnit হিসেবে কাজ করে।