পোস্ট-ট্রেনিং কোয়ান্টাইজেশনে সিপিইউ এবং হার্ডওয়্যার এক্সিলারেটর লেটেন্সি, প্রসেসিং, পাওয়ার এবং মডেলের সাইজ কমানোর সাধারণ কৌশল অন্তর্ভুক্ত থাকে এবং মডেলের যথার্থতায় সামান্য অবনতি হয়। এই কৌশলগুলি একটি ইতিমধ্যে-প্রশিক্ষিত ফ্লোট টেনসরফ্লো মডেলে সঞ্চালিত হতে পারে এবং টেনসরফ্লো লাইট রূপান্তরের সময় প্রয়োগ করা যেতে পারে। এই কৌশলগুলি টেনসরফ্লো লাইট কনভার্টারে বিকল্প হিসাবে সক্রিয় করা হয়েছে।
এন্ড-টু-এন্ড উদাহরণে সরাসরি যেতে, নিম্নলিখিত টিউটোরিয়ালগুলি দেখুন:
- প্রশিক্ষণ পরবর্তী গতিশীল পরিসীমা পরিমাপ
- পোস্ট-ট্রেনিং সম্পূর্ণ পূর্ণসংখ্যার পরিমাপ
- পোস্ট-ট্রেনিং float16 কোয়ান্টাইজেশন
ওজন পরিমাপ করা
ওজন কম নির্ভুলতা সহ প্রকারে রূপান্তরিত করা যেতে পারে, যেমন 16 বিট ফ্লোট বা 8 বিট পূর্ণসংখ্যা। আমরা সাধারণত GPU ত্বরণের জন্য 16-বিট ফ্লোট এবং CPU সম্পাদনের জন্য 8-বিট পূর্ণসংখ্যার সুপারিশ করি।
উদাহরণস্বরূপ, এখানে 8 বিট পূর্ণসংখ্যা ওজন পরিমাপ কিভাবে নির্দিষ্ট করতে হয়:
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_quant_model = converter.convert()
অনুমানে, সবচেয়ে সমালোচনামূলক নিবিড় অংশগুলি ফ্লোটিং পয়েন্টের পরিবর্তে 8 বিট দিয়ে গণনা করা হয়। কিছু অনুমান-সময় কর্মক্ষমতা ওভারহেড আছে, নীচে ওজন এবং সক্রিয়করণ উভয়ের পরিমাণ নির্ধারণের সাথে সম্পর্কিত।
আরও তথ্যের জন্য, TensorFlow Lite পোস্ট-ট্রেনিং কোয়ান্টাইজেশন গাইড দেখুন।
ওজন এবং সক্রিয়করণের সম্পূর্ণ পূর্ণসংখ্যা পরিমাপ
লেটেন্সি, প্রসেসিং এবং পাওয়ার ব্যবহার উন্নত করুন এবং ওজন এবং অ্যাক্টিভেশন উভয়ই পরিমাপ করা হয়েছে তা নিশ্চিত করে শুধুমাত্র পূর্ণসংখ্যার হার্ডওয়্যার অ্যাক্সিলারেটরগুলিতে অ্যাক্সেস পান। এর জন্য একটি ছোট প্রতিনিধি ডেটা সেট প্রয়োজন।
import tensorflow as tf
def representative_dataset_gen():
for _ in range(num_calibration_steps):
# Get sample input data as a numpy array in a method of your choosing.
yield [input]
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset_gen
tflite_quant_model = converter.convert()
ফলস্বরূপ মডেলটি এখনও সুবিধার জন্য ফ্লোট ইনপুট এবং আউটপুট গ্রহণ করবে।
আরও তথ্যের জন্য, TensorFlow Lite পোস্ট-ট্রেনিং কোয়ান্টাইজেশন গাইড দেখুন।