মডেল রূপান্তর ওভারভিউ

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

রূপান্তর কর্মপ্রবাহ

TensorFlow মডেলগুলিকে TensorFlow Lite ফর্ম্যাটে রূপান্তর করার জন্য আপনার ML মডেলের বিষয়বস্তুর উপর নির্ভর করে কয়েকটি পথ নিতে পারে। সেই প্রক্রিয়ার প্রথম ধাপ হিসেবে, এটি সরাসরি রূপান্তর করা যায় কিনা তা নির্ধারণ করতে আপনার মডেলটিকে মূল্যায়ন করা উচিত। এই মূল্যায়ন নির্ধারণ করে যে মডেলের বিষয়বস্তু টেনসরফ্লো ক্রিয়াকলাপগুলির উপর ভিত্তি করে স্ট্যান্ডার্ড টেনসরফ্লো লাইট রানটাইম পরিবেশ দ্বারা সমর্থিত কিনা। যদি আপনি মডেল সমর্থিত সেটের বাইরে ক্রিয়াকলাপগুলি ব্যবহার করেন, তাহলে আপনার কাছে আপনার মডেল রিফ্যাক্টর বা উন্নত রূপান্তর কৌশল ব্যবহার করার বিকল্প রয়েছে।

নীচের চিত্রটি একটি মডেল রূপান্তর করার উচ্চ স্তরের পদক্ষেপগুলি দেখায়৷

TFLite রূপান্তর কর্মপ্রবাহ

চিত্র 1. টেনসরফ্লো লাইট রূপান্তর কর্মপ্রবাহ।

নিম্নলিখিত বিভাগগুলি টেনসরফ্লো লাইটের সাথে ব্যবহারের জন্য মডেলগুলিকে মূল্যায়ন এবং রূপান্তর করার প্রক্রিয়ার রূপরেখা দেয়৷

ইনপুট মডেল বিন্যাস

আপনি নিম্নলিখিত ইনপুট মডেল বিন্যাস সহ রূপান্তরকারী ব্যবহার করতে পারেন:

  • সংরক্ষিত মডেল ( প্রস্তাবিত ): একটি টেনসরফ্লো মডেল ডিস্কে ফাইলের সেট হিসাবে সংরক্ষিত।
  • কেরাস মডেল : উচ্চ স্তরের কেরাস API ব্যবহার করে তৈরি একটি মডেল।
  • Keras H5 ফরম্যাট : কেরাস এপিআই দ্বারা সমর্থিত সেভডমডেল ফরম্যাটের একটি হালকা-ওজন বিকল্প।
  • কংক্রিট ফাংশন থেকে তৈরি মডেল: নিম্ন স্তরের TensorFlow API ব্যবহার করে তৈরি একটি মডেল।

আপনার যদি একটি Jax মডেল থাকে, তাহলে আপনি TFLiteConverter.experimental_from_jax API ব্যবহার করে এটিকে TensorFlow Lite ফরম্যাটে রূপান্তর করতে পারেন। মনে রাখবেন যে এই API পরীক্ষামূলক মোডে থাকাকালীন পরিবর্তন করতে হবে।

রূপান্তর মূল্যায়ন

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

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

মডেল রূপান্তর

TensorFlow Lite রূপান্তরকারী একটি TensorFlow মডেল নেয় এবং একটি .tflite ফাইল এক্সটেনশন দ্বারা চিহ্নিত একটি অপ্টিমাইজ করা ফ্ল্যাটবাফার ফর্ম্যাট)। আপনি একটি সংরক্ষিত মডেল লোড করতে পারেন বা কোডে আপনার তৈরি করা একটি মডেলকে সরাসরি রূপান্তর করতে পারেন৷

আপনি পাইথন API বা কমান্ড লাইন টুল ব্যবহার করে আপনার মডেল রূপান্তর করতে পারেন। আপনার মডেলে কনভার্টার চালানোর জন্য ধাপে ধাপে নির্দেশাবলীর জন্য TensorFlow Lite Converter গাইড দেখুন।

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

উন্নত রূপান্তর

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

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