অ্যান্ড্রয়েডের জন্য টেনসরফ্লো লাইট

TensorFlow Lite আপনাকে আপনার Android অ্যাপে TensorFlow মেশিন লার্নিং (ML) মডেল চালাতে দেয়। টেনসরফ্লো লাইট সিস্টেমটি হার্ডওয়্যার ত্বরণের বিকল্পগুলি সহ, দ্রুত এবং দক্ষতার সাথে অ্যান্ড্রয়েডে মডেলগুলি চালানোর জন্য প্রি-বিল্ট এবং কাস্টমাইজযোগ্য এক্সিকিউশন পরিবেশ সরবরাহ করে।

শেখার রোডম্যাপ

TensorFlow Lite দিয়ে Android অ্যাপ তৈরির ধারণা এবং কোড ডিজাইন শিখুন, শুধু পড়তে থাকুন।
কুইকস্টার্টের সাথে সাথে সাথে TensorFlow Lite-এর সাথে একটি Android অ্যাপ কোড করা শুরু করুন।
TensorFlow Lite এর সাথে ML মডেল বাছাই এবং ব্যবহার সম্পর্কে জানুন, মডেল ডক্স দেখুন।

মেশিন লার্নিং মডেল

TensorFlow Lite TensorFlow মডেলগুলি ব্যবহার করে যা একটি ছোট, বহনযোগ্য, আরও দক্ষ মেশিন লার্নিং মডেল ফর্ম্যাটে রূপান্তরিত হয়। আপনি অ্যান্ড্রয়েডে টেনসরফ্লো লাইট সহ পূর্ব-নির্মিত মডেলগুলি ব্যবহার করতে পারেন বা আপনার নিজস্ব টেনসরফ্লো মডেলগুলি তৈরি করতে পারেন এবং সেগুলিকে টেনসরফ্লো লাইট ফর্ম্যাটে রূপান্তর করতে পারেন৷

এই পৃষ্ঠাটি ইতিমধ্যে তৈরি মেশিন লার্নিং মডেলগুলি ব্যবহার করে আলোচনা করে এবং বিল্ডিং, প্রশিক্ষণ, পরীক্ষা বা রূপান্তরকারী মডেলগুলিকে কভার করে না। মডেল বিভাগে টেনসরফ্লো লাইটের জন্য মেশিন লার্নিং মডেল বাছাই, পরিবর্তন, নির্মাণ এবং রূপান্তর সম্পর্কে আরও জানুন।

অ্যান্ড্রয়েডে মডেল চালান

একটি Android অ্যাপের মধ্যে চলমান একটি TensorFlow Lite মডেল ডেটা নেয়, ডেটা প্রক্রিয়া করে এবং মডেলের যুক্তির উপর ভিত্তি করে একটি ভবিষ্যদ্বাণী তৈরি করে৷ একটি টেনসরফ্লো লাইট মডেল কার্যকর করার জন্য একটি বিশেষ রানটাইম পরিবেশের প্রয়োজন, এবং মডেলে যে ডেটা পাস করা হয় তা অবশ্যই একটি নির্দিষ্ট ডেটা ফর্ম্যাটে হতে হবে, যাকে টেনসর বলা হয়। যখন একটি মডেল ডেটা প্রক্রিয়া করে, যা একটি অনুমান চালানো হিসাবে পরিচিত, তখন এটি নতুন টেনসর হিসাবে ভবিষ্যদ্বাণী ফলাফল তৈরি করে এবং সেগুলিকে Android অ্যাপে প্রেরণ করে যাতে এটি কোনও ব্যবহারকারীকে ফলাফল দেখানো বা অতিরিক্ত ব্যবসায়িক যুক্তি কার্যকর করার মতো পদক্ষেপ নিতে পারে৷

অ্যান্ড্রয়েড অ্যাপে টেনসরফ্লো লাইট মডেলের জন্য কার্যকরী কার্যকরী প্রবাহ

চিত্র 1. অ্যান্ড্রয়েড অ্যাপে টেনসরফ্লো লাইট মডেলের জন্য কার্যকরী কার্যকরী প্রবাহ।

কার্যকরী ডিজাইনের স্তরে, আপনার Android অ্যাপের একটি TensorFlow Lite মডেল চালানোর জন্য নিম্নলিখিত উপাদানগুলির প্রয়োজন:

  • মডেল কার্যকর করার জন্য TensorFlow Lite রানটাইম পরিবেশ
  • মডেল ইনপুট হ্যান্ডলার ডেটা টেনসরে রূপান্তরিত করতে
  • মডেল আউটপুট হ্যান্ডলার আউটপুট ফলাফল টেনসর গ্রহণ এবং পূর্বাভাস ফলাফল হিসাবে তাদের ব্যাখ্যা

নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে টেনসরফ্লো লাইট লাইব্রেরি এবং সরঞ্জামগুলি এই কার্যকরী উপাদানগুলি প্রদান করে।

TensorFlow Lite দিয়ে অ্যাপ তৈরি করুন

এই বিভাগটি আপনার Android অ্যাপে TensorFlow Lite প্রয়োগ করার জন্য প্রস্তাবিত, সবচেয়ে সাধারণ পথ বর্ণনা করে। রানটাইম পরিবেশ এবং বিকাশ লাইব্রেরি বিভাগে আপনার সবচেয়ে বেশি মনোযোগ দেওয়া উচিত। আপনি যদি একটি কাস্টম মডেল তৈরি করে থাকেন, তাহলে উন্নত উন্নয়ন পথ বিভাগটি পর্যালোচনা করতে ভুলবেন না।

রানটাইম পরিবেশ বিকল্প

আপনার অ্যান্ড্রয়েড অ্যাপে মডেলগুলি চালানোর জন্য আপনি রানটাইম পরিবেশ সক্ষম করতে পারেন এমন বিভিন্ন উপায় রয়েছে৷ এই পছন্দের বিকল্প:

সাধারণভাবে, আপনার স্ট্যান্ডার্ড টেনসরফ্লো লাইট রানটাইম এনভায়রনমেন্ট ব্যবহার করা উচিত, যেহেতু এটি অ্যান্ড্রয়েডে মডেল চালানোর জন্য সবচেয়ে বহুমুখী পরিবেশ। Google Play পরিষেবাগুলির দ্বারা প্রদত্ত রানটাইম পরিবেশটি আদর্শ পরিবেশের তুলনায় আরও সুবিধাজনক এবং স্থান-দক্ষ, কারণ এটি Google Play সংস্থান থেকে লোড করা হয় এবং আপনার অ্যাপে বান্ডিল করা হয় না৷ কিছু উন্নত ব্যবহারের ক্ষেত্রে মডেল রানটাইম পরিবেশের কাস্টমাইজেশন প্রয়োজন, যা উন্নত রানটাইম পরিবেশ বিভাগে বর্ণনা করা হয়েছে।

আপনি আপনার অ্যাপ ডেভেলপমেন্ট এনভায়রনমেন্টে টেনসরফ্লো লাইট ডেভেলপমেন্ট লাইব্রেরি যোগ করে আপনার অ্যান্ড্রয়েড অ্যাপে এই রানটাইম পরিবেশগুলি অ্যাক্সেস করেন। আপনার অ্যাপে স্ট্যান্ডার্ড রানটাইম পরিবেশ কীভাবে ব্যবহার করবেন সে সম্পর্কে তথ্যের জন্য, পরবর্তী বিভাগটি দেখুন। অন্যান্য রানটাইম পরিবেশ সম্পর্কে তথ্যের জন্য, উন্নত রানটাইম পরিবেশ দেখুন।

ডেভেলপমেন্ট এপিআই এবং লাইব্রেরি

আপনার Android অ্যাপে TensorFlow Lite মেশিন লার্নিং মডেলগুলিকে একীভূত করতে আপনি দুটি প্রধান API ব্যবহার করতে পারেন:

ইন্টারপ্রেটার এপিআই বিদ্যমান টেনসরফ্লো লাইট মডেলের সাথে অনুমান চালানোর জন্য ক্লাস এবং পদ্ধতি প্রদান করে। টেনসরফ্লো লাইট টাস্ক এপিআই ইন্টারপ্রেটার এপিআইকে র‍্যাপ করে এবং ভিজ্যুয়াল, অডিও এবং টেক্সট ডেটা পরিচালনার জন্য সাধারণ মেশিন লার্নিং কাজ সম্পাদনের জন্য একটি উচ্চ-স্তরের প্রোগ্রামিং ইন্টারফেস প্রদান করে। আপনার টাস্ক API ব্যবহার করা উচিত যদি না আপনি এটি আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে সমর্থন করে না।

লাইব্রেরি

আপনি আপনার Android অ্যাপে TensorFlow Lite Task Library অন্তর্ভুক্ত করে Task API অ্যাক্সেস করতে পারেন। টাস্ক লাইব্রেরিতে ইন্টারপ্রেটার এপিআই ক্লাস এবং পদ্ধতিগুলিও অন্তর্ভুক্ত থাকে যদি আপনার প্রয়োজন হয়।

শুধুমাত্র ইন্টারপ্রেটার API ব্যবহার করতে চাইলে, আপনি TensorFlow Lite লাইব্রেরি অন্তর্ভুক্ত করতে পারেন। বিকল্পভাবে, আপনি TensorFlow Lite-এর জন্য Google Play পরিষেবার লাইব্রেরি অন্তর্ভুক্ত করতে পারেন এবং আপনার অ্যাপে আলাদা লাইব্রেরি বান্ডেল না করেই Play পরিষেবার মাধ্যমে ইন্টারপ্রেটার API অ্যাক্সেস করতে পারেন।

টেনসরফ্লো লাইট সাপোর্ট লাইব্রেরি মডেল, মডেল মেটাডেটা এবং মডেল ইনফরেন্স ফলাফলের জন্য ডেটা পরিচালনার জন্য অতিরিক্ত কার্যকারিতা প্রদানের জন্য উপলব্ধ।

TensorFlow Lite লাইব্রেরি এবং রানটাইম এনভায়রনমেন্ট ব্যবহার করার বিষয়ে প্রোগ্রামিং বিশদ জানতে, Android এর জন্য ডেভেলপমেন্ট টুল দেখুন।

মডেল প্রাপ্ত

একটি অ্যান্ড্রয়েড অ্যাপে একটি মডেল চালানোর জন্য একটি টেনসরফ্লো লাইট-ফরম্যাট মডেল প্রয়োজন। আপনি প্রি-বিল্ট মডেলগুলি ব্যবহার করতে পারেন বা টেনসরফ্লো দিয়ে একটি তৈরি করতে পারেন এবং এটিকে লাইট ফর্ম্যাটে রূপান্তর করতে পারেন। আপনার অ্যান্ড্রয়েড অ্যাপের জন্য মডেল পাওয়ার বিষয়ে আরও তথ্যের জন্য, TensorFlow Lite Models বিভাগটি দেখুন।

ইনপুট ডেটা পরিচালনা করুন

আপনি একটি ML মডেলে পাস করা যেকোন ডেটা অবশ্যই একটি নির্দিষ্ট ডেটা স্ট্রাকচার সহ একটি টেনসর হতে হবে, যাকে প্রায়শই টেনসরের আকার বলা হয়। একটি মডেলের সাথে ডেটা প্রক্রিয়া করার জন্য, আপনার অ্যাপ কোডটিকে অবশ্যই তার নেটিভ ফর্ম্যাট থেকে ডেটা রূপান্তর করতে হবে, যেমন ছবি, পাঠ্য বা অডিও ডেটা, আপনার মডেলের জন্য প্রয়োজনীয় আকারে একটি টেনসরে।

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি ভিজ্যুয়াল, টেক্সট এবং অডিও ডেটাকে টেনসরে রূপান্তরিত করার জন্য ডেটা হ্যান্ডলিং লজিক প্রদান করে যাতে টেনসরফ্লো লাইট মডেলের মাধ্যমে প্রক্রিয়াকরণ করা যায় সঠিক আকৃতি।

অনুমান চালান

একটি ভবিষ্যদ্বাণী ফলাফল তৈরি করতে একটি মডেলের মাধ্যমে ডেটা প্রক্রিয়াকরণ একটি অনুমান চালানো হিসাবে পরিচিত। একটি Android অ্যাপে একটি অনুমান চালানোর জন্য একটি TensorFlow Lite রানটাইম পরিবেশ , একটি মডেল এবং ইনপুট ডেটা প্রয়োজন৷

একটি মডেল যে গতিতে একটি নির্দিষ্ট ডিভাইসে একটি অনুমান তৈরি করতে পারে তা নির্ভর করে প্রক্রিয়াকৃত ডেটার আকার, মডেলের জটিলতা এবং উপলব্ধ কম্পিউটিং সংস্থান যেমন মেমরি এবং সিপিইউ, বা এক্সিলারেটর নামক বিশেষায়িত প্রসেসরের উপর। মেশিন লার্নিং মডেলগুলি এই বিশেষায়িত প্রসেসরগুলিতে দ্রুত চলতে পারে যেমন গ্রাফিক্স প্রসেসিং ইউনিট (GPUs) এবং টেনসর প্রসেসিং ইউনিট (TPUs), টেনসরফ্লো লাইট হার্ডওয়্যার ড্রাইভারগুলিকে ডেলিগেট বলে ব্যবহার করে৷ মডেল প্রক্রিয়াকরণের প্রতিনিধি এবং হার্ডওয়্যার ত্বরণ সম্পর্কে আরও তথ্যের জন্য, হার্ডওয়্যার ত্বরণ ওভারভিউ দেখুন।

আউটপুট ফলাফল হ্যান্ডেল

মডেলগুলি টেনসর হিসাবে ভবিষ্যদ্বাণী ফলাফল তৈরি করে, যা অবশ্যই আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশান দ্বারা পদক্ষেপ নেওয়ার মাধ্যমে বা ব্যবহারকারীকে একটি ফলাফল প্রদর্শন করে পরিচালনা করতে হবে৷ মডেল আউটপুট ফলাফলগুলি একটি চিত্র শ্রেণীবিভাগের জন্য একটি একক ফলাফলের (0 = কুকুর, 1 = বিড়াল, 2 = পাখি) সাথে সম্পর্কিত একটি সংখ্যার মতো সহজ হতে পারে, আরও জটিল ফলাফলের জন্য, যেমন একটিতে বেশ কয়েকটি শ্রেণীবদ্ধ বস্তুর জন্য একাধিক বাউন্ডিং বাক্স। 0 এবং 1 এর মধ্যে ভবিষ্যদ্বাণী আত্মবিশ্বাসের রেটিং সহ চিত্র।

উন্নত উন্নয়নের পথ

আরও পরিশীলিত এবং কাস্টমাইজড TensorFlow Lite মডেল ব্যবহার করার সময়, আপনাকে উপরে বর্ণিত পদ্ধতির চেয়ে আরও উন্নত উন্নয়ন পদ্ধতি ব্যবহার করতে হতে পারে। নিম্নলিখিত বিভাগগুলি অ্যান্ড্রয়েড অ্যাপগুলিতে টেনসরফ্লো লাইটের জন্য মডেলগুলি কার্যকর করার এবং সেগুলি বিকাশের জন্য উন্নত কৌশলগুলি বর্ণনা করে৷

উন্নত রানটাইম পরিবেশ

TensorFlow Lite-এর জন্য স্ট্যান্ডার্ড রানটাইম এবং Google Play পরিষেবার রানটাইম পরিবেশ ছাড়াও, অতিরিক্ত রানটাইম পরিবেশ রয়েছে যা আপনি আপনার Android অ্যাপের সাথে ব্যবহার করতে পারেন। এই এনভায়রনমেন্টের জন্য সবচেয়ে বেশি ব্যবহার হতে পারে যদি আপনার কাছে একটি মেশিন লার্নিং মডেল থাকে যা ML অপারেশন ব্যবহার করে যা TensorFlow Lite-এর জন্য স্ট্যান্ডার্ড রানটাইম পরিবেশ দ্বারা সমর্থিত নয়।

TensorFlow Lite Flex রানটাইম আপনাকে আপনার মডেলের জন্য প্রয়োজনীয় নির্দিষ্ট অপারেটরগুলিকে অন্তর্ভুক্ত করতে দেয়৷ আপনার মডেল চালানোর জন্য একটি উন্নত বিকল্প হিসাবে, আপনি আপনার TensorFlow মেশিন লার্নিং মডেল চালানোর জন্য প্রয়োজনীয় অপারেটর এবং অন্যান্য কার্যকারিতা অন্তর্ভুক্ত করতে Android এর জন্য TensorFlow Lite তৈরি করতে পারেন। আরও তথ্যের জন্য, Android এর জন্য টেনসরফ্লো লাইট তৈরি করুন দেখুন।

C এবং C++ API

C এবং C++ ব্যবহার করে মডেল চালানোর জন্য TensorFlow Lite একটি API প্রদান করে। যদি আপনার অ্যাপ Android NDK ব্যবহার করে, তাহলে আপনার এই API ব্যবহার করার কথা বিবেচনা করা উচিত। আপনি একাধিক প্ল্যাটফর্মের মধ্যে কোড ভাগ করতে সক্ষম হলে আপনি এই API ব্যবহার করার বিষয়েও বিবেচনা করতে পারেন। এই উন্নয়ন বিকল্প সম্পর্কে আরও তথ্যের জন্য, উন্নয়ন সরঞ্জাম পৃষ্ঠা দেখুন।

সার্ভার-ভিত্তিক মডেল এক্সিকিউশন

সাধারণভাবে, আপনার ব্যবহারকারীদের জন্য কম লেটেন্সি এবং উন্নত ডেটা গোপনীয়তার সুবিধা নিতে আপনার Android ডিভাইসে আপনার অ্যাপে মডেলগুলি চালানো উচিত। যাইহোক, এমন কিছু ক্ষেত্রে রয়েছে যেখানে ক্লাউড সার্ভারে একটি মডেল চালানো, ডিভাইস বন্ধ করা একটি ভাল সমাধান। উদাহরণস্বরূপ, যদি আপনার কাছে একটি বড় মডেল থাকে যা আপনার ব্যবহারকারীদের অ্যান্ড্রয়েড ডিভাইসগুলিতে ফিট করে এমন একটি আকারে সহজেই সংকুচিত হয় না, বা সেই ডিভাইসগুলিতে যুক্তিসঙ্গত কার্যকারিতা সহ কার্যকর করা যেতে পারে। এই পদ্ধতিটি আপনার পছন্দের সমাধান হতে পারে যদি বিস্তৃত ডিভাইস জুড়ে মডেলের সামঞ্জস্যপূর্ণ কর্মক্ষমতা শীর্ষ অগ্রাধিকার হয়।

Google ক্লাউড TensorFlow মেশিন লার্নিং মডেল চালানোর জন্য পরিষেবার একটি সম্পূর্ণ স্যুট অফার করে। আরও তথ্যের জন্য, Google Cloud এর AI এবং মেশিন লার্নিং পণ্য পৃষ্ঠা দেখুন।

কাস্টম মডেল উন্নয়ন এবং অপ্টিমাইজেশান

আরও উন্নত উন্নয়ন পথের মধ্যে কাস্টম মেশিন লার্নিং মডেল তৈরি করা এবং অ্যান্ড্রয়েড ডিভাইসে ব্যবহারের জন্য সেই মডেলগুলিকে অপ্টিমাইজ করা অন্তর্ভুক্ত থাকতে পারে। আপনি যদি কাস্টম মডেলগুলি তৈরি করার পরিকল্পনা করেন তবে নিশ্চিত করুন যে আপনি মেমরি এবং প্রক্রিয়াকরণের খরচ কমাতে মডেলগুলিতে কোয়ান্টাইজেশন কৌশল প্রয়োগ করার কথা বিবেচনা করুন৷ TensorFlow Lite-এর সাথে ব্যবহারের জন্য উচ্চ-পারফরম্যান্স মডেলগুলি কীভাবে তৈরি করা যায় সে সম্পর্কে আরও তথ্যের জন্য, মডেল বিভাগে কর্মক্ষমতা সেরা অনুশীলনগুলি দেখুন।

পরবর্তী পদক্ষেপ