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

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

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

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 ফাইল এক্সটেনশন দ্বারা চিহ্নিত একটি অপ্টিমাইজ করা ফ্ল্যাটবাফার ফর্ম্যাট)। আপনি একটি সংরক্ষিত মডেল লোড করতে পারেন বা কোডে তৈরি করা একটি মডেলকে সরাসরি রূপান্তর করতে পারেন৷

কনভার্টারটি 3টি প্রধান পতাকা (বা বিকল্প) নেয় যা আপনার মডেলের জন্য রূপান্তর কাস্টমাইজ করে:

  1. সামঞ্জস্যপূর্ণ ফ্ল্যাগগুলি আপনাকে নির্দিষ্ট করতে দেয় যে রূপান্তরটি কাস্টম অপারেটরদের অনুমতি দেবে কিনা।
  2. অপ্টিমাইজেশান ফ্ল্যাগগুলি আপনাকে রূপান্তরের সময় প্রয়োগ করার জন্য অপ্টিমাইজেশনের ধরন নির্দিষ্ট করতে দেয়৷ সর্বাধিক ব্যবহৃত অপ্টিমাইজেশান কৌশল হল পোস্ট-ট্রেনিং কোয়ানিটাইজেশন
  3. মেটাডেটা ফ্ল্যাগগুলি আপনাকে রূপান্তরিত মডেলে মেটাডেটা যোগ করার অনুমতি দেয় যা ডিভাইসগুলিতে মডেল স্থাপন করার সময় প্ল্যাটফর্ম নির্দিষ্ট র্যাপার কোড তৈরি করা সহজ করে তোলে।

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

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

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

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

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