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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

লাইব্রেরি

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

মডেল প্রাপ্ত

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

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

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

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

অনুমান চালান

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

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

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

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

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

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

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

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

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

C এবং C++ API

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

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

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

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

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

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

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